我使用 Play-with-Docker 平台创建了一个包含 3 个 Docker 实例的 Swarm 集群:1 个管理器和 2 个工作器;然后我从图像 nginx:alpine
:
docker service create -p 8080:80 --name nginx-app nginx:alpine
一切顺利。
然后我update
更改已发布端口的服务:而不是8080
,现在我希望已发布端口为8081
。我跑了这个:
docker service update --publish-rm 8080 --publish-add 8081 nginx-app
但它并没有删除已发布的端口8080
;相反,它创建了另一个已发布的端口 30002
,此端口 30002
映射到 8081
我在这里做错了什么?如何更改已发布的端口?
答案 0 :(得分:0)
删除这些服务并像这样启动它:
docker service create -p 8081:80 --name nginx-app nginx:alpine
答案 1 :(得分:0)
--publish-rm
选项采用目标端口,而不是发布的端口:
docker service update --publish-rm 80 --publish-add 8081:80 nginx-app