使用堆栈部署启动服务时,我们收到以下错误:
“来自守护程序的错误响应:rpc错误:代码= 3 desc = EndpointSpec:使用入口模式发布的端口不能与dnsrr模式一起使用”
测试让我尝试:使用ignress=false
集手动创建网络,启动堆栈部署而不暴露端口并将节点加入网络,然后手动暴露端口。
docker service update --publish-add 5672:5672 service_name1
但仍然得到相同的错误。
有什么想法吗?
可以通过以下两个命令来实现暴露端口: -
docker service update service_name1 --endpoint-mode=vip
docker service update --publish-add 5672:5672 service_name1
这会将端点模式从dnsrr更改为vip,稍后您可以使用相同的命令公开端口
对于端点模式设置为dnsrr端口的服务,无法使用默认模式“ingress”发布。将发布模式更改为主机应该有效。
docker service update --publish-add published=80,target=80,protocol=tcp,mode=host service_name
在撰写文件中,它会像,
ports:
- target: 80
published: 80
protocol: tcp
mode: host