看了这么久的Docker,其实我们最后要做的,就是将我们的项目jar包和docker镜像结合,在打包发布的时候,直接提交一个镜像给运维,这才是docker的最终用法,接下来我就来简单的实现这个步骤

  首先我们得有一个可以运行的Springboot项目,并打包成jar包,我就用我之前的项目进行演示了

  然后在IDEA中安装Dokcer的插件,其实也可以不装,我只是为了在编写Dockerfile的时候能有提示高亮

docker spring 项目打包成 springboot项目打包成docker镜像_docker


  安装了docker插件,我们还可以通过这个插件去连接远程仓库,但我一般是不用这个,没啥用,给大家提示哈

docker spring 项目打包成 springboot项目打包成docker镜像_docker spring 项目打包成_02


  编写dockerfile文件,安装插件的好处就是,dockerfile相关的会高亮提示,这样就很容易分辨

# 基础镜像,一般是java8
FROM java:8
# 修改系统时区,默认是GMT,会慢8小时
RUN echo "Asia/shanghai" > /etc/timezone;
# 拷贝jar包,可以使用通配符拷贝所有,也可以拷贝具体的某个jar包
ADD *.jar /peach.jar
# 添加一些其他的指令,这个根据自己的需求去添加
CMD ["--server.port=8081"]
# 暴露端口
EXPOSE 8081
# 执行命令,容器运行时执行的指令,启动服务
ENTRYPOINT ["nohup","java","-jar","/peach.jar","&"]

  紧接着将jar包和dockerfile文件上传到服务,然后执行 build 构建镜像,我使用的是阿里云的插件进行上传并配置好上传后的指令,如果阿里云插件不熟悉的可以看看我之前的文章(传送门)

docker spring 项目打包成 springboot项目打包成docker镜像_java_03


  上传完成后,会自动去执行我设置的指令,然后在服务器中查看,可以看到,我们的服务已经构建成了镜像

docker spring 项目打包成 springboot项目打包成docker镜像_docker_04


  测试运行我们的镜像是否正确,可以看到我创建了容器,然后在服务端去访问接口,能正确访问并请求到数据,这说明我们的镜像是没有问题,那这个镜像就可以保存或者提交到镜像仓库,然后给运维去用了

docker spring 项目打包成 springboot项目打包成docker镜像_jar包_05