0
我创建使用此命令覆盖网络:搬运工堆栈部署不使用覆盖网络创建
docker network create --driver overlay --internal --subnet 192.168.0.0/24 test
,然后我试图与一个服务部署堆栈。堆栈的YAML文件看起来像:
---
version: "3.0"
services:
web1:
image: "test"
ports:
- "12023:22"
hostname: "ard014-web1"
networks:
- test
networks:
test:
driver: overlay
我用命令部署堆栈:
docker stack deploy -c test.yaml test
,如果我请与搬运工人网络LS我找到新的覆盖网络获取与名称test_test和创建的网络容器使用此网络而不是已经创建的网络。这是预期的行为?我希望堆栈使用手动创建的网络,而不是创建新网络,因为我想控制覆盖网络使用的IP CIDR范围。我怎么能做到这一点?
感谢@BMitch你的答案工作就像一个魅力:) – tkyass
我注意到,我可以使用这在已经被创建用于改变它的网络的容器上。我收到了错误消息:“来自守护程序的错误响应:rpc错误:代码= 2 desc =不支持更改服务中的网络” – tkyass
@tkyass有技术原因,或许服务VIP不能使用滚动升级。解决方法是在进行像这样的更改时删除现有服务。 – BMitch