docker-compose 更新镜像

项目迭代发布新版本的时候,需要重新构建业务镜像,重新运行docker容器。

老方法:

docker pull 新镜像名
docker stop 容器名
docker rm 容器名
docker rmi 业务镜像名
docker run -d --name 容器名 -p 对外端口:内部端口  新镜像名

使用docker-compose方法:
配置好docker-compose.yml 文件,然后

docker-compose pull
docker-compose up -d

文档
https://docs.docker.com/compose/reference/up/

docker-compose up --build

作用:在启动服务之前重新构建镜像
检查 Dockerfile 是否有变化
如果有变化则重新构建镜像
只重建有变化的镜像
构建完成后,基于新镜像启动容器
适用场景:修改了 Dockerfile、requirements.txt 等构建文件后

docker-compose up --force-recreate
作用:强制重新创建容器(即使配置没变化)
不会重新构建镜像
强制停止并重新创建所有容器
使用现有的镜像创建新容器
适用场景:环境变量、配置文件等运行配置有变化,或者需要干净的容器状态

组合使用
docker-compose up --build --force-recreate
作用:先重新构建镜像,然后强制重新创建容器
先执行 --build 逻辑
再执行 --force-recreate 逻辑
最彻底的更新方式

参考:

https://www.cnblogs.com/yyee/p/12954995.html