目标

用于打docker镜像,把shop商城的war包,打进tomcat:8.5.84-jdk8基础镜像中,产出自己的docker镜像。

打Docker镜像是非必须工作可以不做。 当你需要容器化运行本程序时,可以做。

Docker打包引擎

打docker镜像需要有Docker打包引擎。

  • 1、可以在Linux环境下安装Docker,并执行打镜像。
  • 2、可以Windows环境下安装Docker Desktop,并执行打镜像。  参考: 安装Docker环境(可选)

打包方法

# 直接使用原生的docker命令打包。
# 1、先使用maven构建出war包,这是一步常规操作,与Docker无关。
# 2、进入项目的根目录执行命令:docker build -t shop:v2 .
# 3、注意命令的最后有一个点,shop:v2 是镜像的名称请你自行修改。
#
# 特点:
# 不使用 docker-maven-plugin 或 dockerfile-maven-plugin 这种依赖maven的插件。
# 而是直接使用原生的docker命令打包,适用于本项的Maven多模块的工程结构,让事情简化。

得到5个war包

接上一篇文章,编译打包成功成功后,得到以下5个war包:

  1. sic-b2b2c-shop-open\shop-web-admin\target\admin.war
  2. sic-b2b2c-shop-open\shop-web-front\target\front.war  ( 需要手动改文件为ROOT.war
  3. sic-b2b2c-shop-open\shop-web-static\target\static.war
  4. sic-b2b2c-shop-open\shop-web-upload\target\upload.war
  5. sic-b2b2c-shop-open\shop-web-wap\target\wap.war

其中  front.war 要手动改名为 ROOT.war:

命令:mv front.war ROOT.war   #改名,ROOT可用/来访问,做为首页入口

打Docker镜像

如果你需要把 Tomcat + 5个war包,打一个Docker镜像,请按以下操作。

准备war包文件

mkdir docker-workspace
cd docker-workspace
cp ../shop-web-admin/target/*.war .
cp ../shop-web-front/target/*.war .
cp ../shop-web-static/target/*.war .
cp ../shop-web-upload/target/*.war .
cp ../shop-web-wap/target/*.war .
cp ../Dockerfile .
mv front.war ROOT.war   #改名,ROOT可用/来访问,做为首页入口

打docker镜像

docker build -t b2b2c-shop-local:2.0.103 .
b2b2c-shop-local是镜像的名称。
2.0.100是版本号。
注意最后有一个点,不可缺少。表示当前目录。

启动容器

docker run -p 8080:8080 --name shop-local -d b2b2c-shop-local:2.0.103