3.2.11:业务的容器化升级发布
模拟:当前面制作的 testapp:v1 镜像中的 testapp 需要升级到 v2 时,如何进行业务的容器化升级发布;
准备新版本的业务程序
创建 testapp-v2 目录,将业务程序放入其中:
root@ubuntu:~# cd /Dockerfile/Apps/testapp/
root@ubuntu:/Dockerfile/Apps/testapp# mkdir testapp-v2
root@ubuntu:/Dockerfile/Apps/testapp# cd testapp-v2
root@ubuntu:/Dockerfile/Apps/testapp/testapp-v2# jar xf ../sample-v2.war
编辑首页文件,以示区分:
root@ubuntu:/Dockerfile/Apps/testapp/testapp-v2# vim index.html
testapp:v2 page
修改 Dockerfile
将拷贝程序的源目录更改为 testapp-v2:
root@ubuntu:/Dockerfile/Apps/testapp# vim Dockerfile
# testapp Dockerfile
#
FROM centos-tomcat:8.5.60
LABEL maintainer="yqc<20251839@qq.com>"
ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh
ADD testapp-v2/* /apps/tomcat/webapps/testapp/
RUN chown -R www:www /apps
EXPOSE 8080 8009
CMD ["/apps/tomcat/bin/run_tomcat.sh"]
修改镜像构建脚本
将 Tag 更改为 v2:
root@ubuntu:/Dockerfile/Apps/testapp# vim docker-build.sh
#!/bin/bash
docker build -t testapp:v2 .
构建镜像
root@ubuntu:/Dockerfile/Apps/testapp# bash docker-build.sh
验证镜像
查看镜像:
root@ubuntu:~# docker images -f reference=testapp
REPOSITORY TAG IMAGE ID CREATED SIZE
testapp v2 e386b34183fb 3 minutes ago 898MB
testapp v1 d15175e7d929 18 minutes ago 898MB
以 testapp:v2 启动容器,访问测试:
root@ubuntu:~# docker run -itd -p 8080:8080 testapp:v2