Docker Compose服务因重启策略自动重启时,是否会因镜像变更重建容器?
Docker Compose自动重启的容器行为说明
针对你提到的两种场景,Docker Compose的自动重启(restart_policy)行为如下:
场景1:Docker镜像已更新(如拉取了node:latest的新版本)
- 只会尝试重启现有容器,不会重新创建。自动重启机制基于已存在的容器实例运行,它不会主动检查镜像是否有更新,只会复用原容器关联的镜像来启动。如果要使用新镜像,必须手动执行
docker-compose up -d触发容器重建。
场景2:Docker镜像名称已变更(如docker-compose.yml中镜像名的环境变量被修改)
- 自动重启机制不会重新创建容器。
restart_policy只负责重启已存在的容器,不会感知docker-compose.yml里的配置变化。只有当你手动执行docker-compose up -d时,Compose才会检测到镜像配置的改动,销毁旧容器并基于新镜像创建新实例。
内容的提问来源于stack exchange,提问作者Lars Nyström
相关产品推荐
相关产品推荐

