【发布时间】:2017-08-10 14:22:19
【问题描述】:
我正在使用 docker compose 在 Docker 群上部署多个堆栈。
现在我已经在我的代理堆栈撰写文件中定义了一个网络:
networks:
proxy:
driver: overlay
其他堆栈通过以下方式引用此网络:
networks:
proxy_proxy:
external: true
此设置的问题是所有其他堆栈现在都依赖于代理堆栈。删除代理堆栈(例如为了替换/重新启动它)将导致如下错误:
无法删除网络 800w54tbh7w7clc4o8uc3y7no:来自守护程序的错误响应:rpc 错误:代码 = 9 desc = 网络 800w54tbh7w7clc4o8uc3y7no 正在被服务 0zu489jepz586sguqrorv6j6h 使用,无法从堆栈中删除一些资源:代理
有没有办法在 docker compose 中定义一个不由一个堆栈“拥有”的网络,这样如果它已经存在,任何新部署的堆栈都会加入它,如果不存在,它将被创建?
这样堆栈之间就没有依赖关系了。
【问题讨论】:
-
好的答案也可以在这里找到:serverfault.com/questions/904535/…
标签: docker-compose docker-swarm