本篇以 jdk8+tomcat7+springmvc 的项目为例,讲解从项目代码,发布成docker镜像的过程。
(springmvc是因为本人最近正好要把公司的旧项目docker化)
主要流程
- 编写Dockerfile脚本 并 验证生成的镜像是否正确 (jdk+tomcat+项目war包)
- 集成Maven-Docker插件 (将本地工程结合Dockerfile脚本 打包镜像至Docker仓库)
- 完善:打包命令区分环境(生产/测试),直接用maven命令制作不同环境的包
- 测试拉取镜像并运行 (在 生产/测试服务器 拉取做好的 生产/测试镜像 )
实现效果
- 使用maven的package 命令,直接生成docker镜像,发布到指定的docker仓库。
- 应用服务器用docker命令拉取镜像,运行,完成 应用全量更新/新节点部署
docker的安装
docker安装:https://www.runoob.com/docker/centos-docker-install.html (我的服务器使用的是centos)
docker入门教程:https://www.runoob.com/docker/docker-tutorial.html
编写Dockerfile
本Dockerfile脚本的作用:
- 创建centos操作系统
- 将本地的jdk,tomcat压缩包复制到docker镜像内
(当然还可以直接用yum apt 等命令进行软件的安装,网上也有很多教程,这里主要是因为旧项目的缘故,对于jdk,tomcat需要使用指定的稳定低版本,并且本地包比较方便进行参数设置,比如xmx xms ,tomcat线程池 等,改好配置后直接覆盖到压缩包即可