Docker这项技术也是开发中值得我们掌握的技术。 接下来,让我们看看如何使用Docker容器化技术构建和运行,以及Spring Boot项目的可执行Jar包。
演示环境
中心7
Docker 1.13.1
Spring Boot 2.1.1.RELEASE
准备Spring Boot项目
构建Spring Boot项目的方法有很多,也不是我们要讨论的重点,所以在这里我不多做说明。 我们为项目准备简单的hello控制器。 其中有一个sayHello ()方法,映射到我们访问项目的跟随路径。 访问时,Hello Jerome,This is docker image!
打包项目并生成可执行的jar
导航到项目的根目录,运行mvn clean package以打包项目,然后在target目录下生成xxx.jar的可执行jar文件。
创建文档服务器镜像
首先,将准备的xxx.jar复制到我们的CentOS 7计算机上。 我不说明复印的方法。 大家各自加把劲吧。 在这里,我将我生成的docker-demo-0.0.1.jar复制到了/lgdby/docker/testdocker/文件夹中。 这里也不一定使用Linux机器。 这里只是我用了演示,尽量符合生产环境。
创建文档文件
使用vi Dockerfile编辑文件。
关于以上命令的说明:
从docker仓库获取openjdk作为项目的容器
VOLUME指向/tmp目录。 由于Spring Boot使用内置的Tomcat容器,因此Tomcat默认使用/tmp作为工作目录。 效果是在主机的/lgdby/lib/docker目录下创建临时文件并连接到容器的/tmp。
项目docker-demo-0.0.1.jar将作为app.jar添加到容器中。
输入点执行项目app.jar。 为了缩短Tomcat的启动时间,将系统属性/dev/urandom添加为Entropy Source
#引出一个来自Java :8 JDK为1.8的docker image
#维护者的作者是bingo
# demo-0.0.1-SNAPSHOT.jar是您上传的jar包,将替换为jar包的名称
# demo.jar是您重命名该jar包并在容器中运行的原因
# expose容器露出的端口数是jar在容器中运行的端口数量
#在# entrypoint容器启动后执行的命令中,java -jar demo.jar将启动jar
构建Docker镜像
在/lgdby/Docker/testdocker目录中,运行docker命令以生成镜像。
此命令使用docker build命令构建镜像,并将镜像命名为jerome.xin/docker-demo,以便TAG在latest中位于当前文件夹下。
使用docker images显示所有镜像。
我们发现镜像列表中有我们生成的镜像jerome.xin/docker-demo。
执行镜像
镜像的创建按照上述步骤完成。 接下来只需使用
docker run-d-- restart=always-- name docker-demo-v/usr/local/apps/docker-demo/logs 3360/home/docker
这表示docker容器将在停止或打开服务器后自动重新启动--restart=always
- v/usr/local/apps/docker-demo/logs :/home/docker-demo/logs :镜像中的/home/docker-demo/logs目录
-p 7500:7500 :端口映射,默认启动为7500
显示dockerlogs----tail300--fdemo启动日志