为何docker ps --all无法显示Docker Compose创建的旧node-app容器?
Docker Compose旧容器消失的原因
当你修改node-app服务的配置(添加restart: on-failure)后执行docker-compose up,Docker Compose会自动完成以下操作:
- 检测到服务配置发生变更,判定需要重建容器来应用新配置。
- 先停止当前运行的旧
node-app容器,然后基于新配置创建并启动新容器。 - 在新容器成功启动后,Compose会自动删除被替换的旧容器,这就是你在
docker ps --all结果中找不到旧容器ID(96b19ffca388)的核心原因。
这种自动清理是Docker Compose的默认行为,目的是避免系统中堆积大量无用的废弃容器,保持环境整洁。
如果需要保留旧容器,可以在执行docker-compose up时添加--no-remove参数(需结合--force-recreate强制重建同时保留旧容器),命令如下:
docker-compose up --force-recreate --no-remove
内容的提问来源于stack exchange,提问作者DumbCoder
相关产品推荐
相关产品推荐

