使用堆栈部署启动服务时,我们收到以下错误:
"Error response from daemon: rpc error: code = 3 desc = EndpointSpec: port published with ingress mode can't be used with dnsrr mode"
测试让我尝试:
手动创建一个设置了 ignress=false
的网络,在不公开端口的情况下启动堆栈部署并将节点加入网络,然后手动公开端口。
docker service update --publish-add 5672:5672 service_name1
但仍然遇到同样的错误。
有什么想法吗?
最佳答案
对于端点模式设置为 dnsrr 的服务,无法使用默认模式“入口”发布端口。将 Release模式更改为主机应该可以。
docker service update --publish-add published=80,target=80,protocol=tcp,mode=host service_name
在撰写文件中,它会是这样的,
ports:
- target: 80
published: 80
protocol: tcp
mode: host
关于Docker 堆栈部署 : unable to set dnsrr as ports are exposed as ingress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45841135/