在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言部署项目时可能会需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。而Docker确巧妙的解决了这些问题,Docker为了解决依赖的兼容问题的,采用了两个手段:
本文将讲解如何使用Docker来部署我们平时用SpringBoot开发的项目: Dockerfile什么是 Dockerfile?Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 Dockerfile语法构建自定义的镜像时,并不需要一个个文件去拷贝,打包。 我们只需要告诉Docker,我们的镜像的组成,需要哪些BaseImage、需要拷贝什么文件、需要安装什么依赖、启动脚本是什么,将来Docker会帮助我们构建镜像。 而描述上述信息的文件就是Dockerfile文件。 Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。 打包SpringBoot项目准备项目: 项目端口 server.port=8080 在templates文件夹下新建index.html <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Docker部署SpringBoot应用</title> </head> <body> <h1>Docker部署SpringBoot应用</h1> <img src="/static/img/2.jpg" alt="" width="100%"> </body> </html> 定义主页Controller,跳转到index @Controller public class indexController { @RequestMapping("/") public String index(){ return "index"; } } 在本地预览效果: 在本地将SpringBoot应用打包成jar准备maven-compiler-plugin插件 <build> <!--编译打包后的文件包名--> <finalName>app</finalName> <plugins> <plugin> <!--GAV坐标(G组织id,A项目id,V版本号)--> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <!--配置: 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其 他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不 支持的语法),会存在target不同于source的情况--> <configuration> <!--源代码使用的JDK版本--> <source>1.8</source> <!-- 需要生成的目标class文件的编译版本 --> <target>1.8</target> <!-- 字符集编码,防止中文乱码 --> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
然后执行clean,最后执行package进行项目打包 出现BUILD SUCCESS说明打包成功了 打包成功后会出现target文件夹,目录下就会有刚刚打包的jar包 准备jar包和Dockerfile复制jar到桌面或自定义位置,在本地创建编写Dockerfile文件( 编写DockerfileDockerfile指令 FROM java:8-alpine COPY ./app.jar /tmp/app.jar ENTRYPOINT java -jar /tmp/app.jar Dockerfile说明 FROM java:8-alpine: 基于java8构建镜像,默认构建java镜像需要安装配置环境变量,而java:8-alpine这个镜像已经帮我们把前面的步骤都做完了 COPY ./app.jar /tmp/app.jar 复制jar包 ENTRYPOINT java -jar /tmp/app.jar 入口命令 使用工具将jar和Dockerfile上传到服务器上传位置看个人,我存放的位置:/tmp/docker cd tmp mkdir docker 选择上传文件 上传到 构建镜像进入上传文件的目录: 输入命令构建镜像 docker build -t test:1.0 .
命令说明:
可以看到构建镜像的时候会以我们编写Dockerfile的三条命令分为3个步骤执行 查看镜像查看Docker中的镜像命令: docker images 可以看到我们自定义镜像test 创建并运行容器运行Docker镜像命令: docker run --name springboot -p 8080:8080 -d test:1.0 命令说明:
创建并运行容器成功! 查看正在运行的镜像正在运行的镜像命令 docker ps 浏览器访问服务器的8080端口 手机访问: 查看日志查看容器日志命令 docker logs -f springboot 说明: 查看容器日志但是不是实时更新,想要查看新的日志还需要重复运行 docker logs + 容器名称 实时更新日志 docker logs -f + 容器名称 Docker部署SpringBoot应用教程结束! 到此这篇关于Docker部署SpringBoot应用的文章就介绍到这了,更多相关Docker部署SpringBoot应用内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论