如何重启Docker容器应用新更改,覆盖旧镜像且不创建新容器?
解决Docker Compose覆盖镜像后重启容器不生成新容器的问题
直接给你可行的操作步骤,解决你遇到的生成新容器的问题:
方法一:分步操作
- 先彻底停止并移除当前容器(不会删除数据卷,放心使用):
docker-compose down - 重新构建镜像并覆盖旧镜像(
--no-cache避免缓存干扰,确保用最新代码构建):docker-compose build --no-cache - 用新镜像启动容器:
docker-compose up -d
方法二:一步到位
直接执行这条命令,自动构建新镜像、强制重新创建容器,不会生成带后缀的新容器:docker-compose up -d --build --force-recreate
关键注意点
- 确保你的
docker-compose.yml里配置了container_name字段,指定固定的容器名称,这样Docker Compose就不会自动生成-web这类后缀的容器名。 - 如果有需要持久化的数据,一定要在
docker-compose.yml里配置volumes挂载对应目录,避免容器重建时丢失数据。
内容的提问来源于stack exchange,提问作者pvpb0t
相关产品推荐
相关产品推荐

