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

Docker Compose文件更新异常及Windows10 Docker Toolbox部署问题

解决Swarm部署后已删除服务仍运行的问题

嘿,这个问题我之前也碰到过!Swarm的docker stack deploy默认是增量更新的——它只会根据你当前的docker-compose.yml去更新或添加服务,但不会主动清理那些你从配置文件里删掉的旧服务。下面给你几个靠谱的解决办法:

方法一:手动移除多余服务

  1. 先确认目标服务还在运行:
    docker stack services getstartedlab
    
    你应该能看到getstartedlab_visualizer还在列表里(Swarm里的服务名是「stack名_服务名」的格式)。
  2. 直接删除这个服务:
    docker service rm getstartedlab_visualizer
    
  3. 再检查一遍,确认服务已经被移除:
    docker stack services getstartedlab
    

方法二:用--prune参数自动同步配置

如果你不想每次删服务都手动操作,可以在部署的时候加上--prune参数,让Swarm自动清理掉docker-compose.yml里没有定义的服务:

docker stack deploy --with-registry-auth -c docker-compose.yml --prune getstartedlab

这个命令会让Swarm完全对齐你当前的配置文件,不仅会更新现有服务,还会移除所有不在新配置里的旧服务。

额外注意事项

因为你用的是Docker Toolbox,要确保你的终端已经加载了Docker Machine的环境变量——比如先运行docker-machine env default,然后根据提示执行对应的命令(比如Windows下的& "C:\Program Files\Docker Toolbox\docker-machine.exe" env default | Invoke-Expression),不然你的命令可能没作用到Swarm管理器上哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:29:22