如何从Docker服务中移除已绑定的指定网络
Docker服务绑定网络移除报错解决方案
错误原因
你执行移除命令时报错的核心原因是参数语法误用:--network-add支持传入name=网络名的键值对格式配置额外参数,但--network-rm不需要添加name=前缀,直接传入网络名称即可。
正确操作步骤
- 先确认服务当前绑定的网络列表,避免操作错误:
确认返回结果中包含docker service inspect <你的服务名称> --format '{{range .Spec.TaskTemplate.Networks}}{{.Target}} {{end}}'traefik-net4后再执行后续操作。 - 执行正确的网络移除命令:
docker service update --network-rm traefik-net4 <你的服务名称> - 操作完成后再次执行第一步的inspect命令,确认
traefik-net4已从绑定列表中消失即可。
额外说明
操作会触发服务滚动更新,只要你配置了合理的副本数和更新策略,不会造成服务长时间中断。即使旧网络已经被物理删除处于孤儿状态,也可以通过上述命令直接移除服务和旧网络的绑定关系,无需重建服务。
内容的提问来源于stack exchange,提问作者DS87
相关产品推荐
相关产品推荐

