You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制Docker重新创建容器?不使用docker-compose可行吗?

问题解答

先明确:docker container restart 和 docker compose up --force-recreate 效果完全不同

docker container restart <容器名/ID> 只是重启运行中的容器,它不会删除旧容器,也不会重新创建新容器——容器的文件系统(除挂载的外部卷外)、网络配置等都会保留,相当于只是把容器进程停了再启动,和「重建」完全是两回事。

而docker compose up --force-recreate的核心是:先删除指定的旧容器,再用原配置重新创建并启动一个全新的容器,相当于把容器「重置」到初始状态(挂载的外部卷数据会保留)。

纯Docker命令实现强制重建容器的方法

要达到和--force-recreate一致的效果,你需要手动完成「停容器→删容器→重新创建启动容器」这三步:

  1. 停止目标容器:
    docker stop <container_name_or_id>
    
  2. 删除已停止的容器:
    docker rm <container_name_or_id>
    
  3. 用当初创建该容器时的完整命令重新创建并启动容器。比如你之前是用下面的命令创建的Nginx容器:
    docker run --name my-nginx -d -p 8080:80 -v ./html:/usr/share/nginx/html nginx
    
    那现在就重新执行这条命令即可。

额外说明

  • 如果你的容器是基于某个镜像的最新版本,想要同步镜像更新的话,可以在重新创建前先拉取最新镜像:
    docker pull <image_name>
    
  • 如果你之前是用docker create命令先创建容器再启动的,那第三步就先执行docker create(用原命令),再执行docker start <container_name>。

内容的提问来源于stack exchange,提问作者Ouss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:16:14