不同的端口docker容器ps和docker集群服务

  • 本文关键字:docker 服务 ps 容器 docker
  • 更新时间 :
  • 英文 :


我在一个群中有三个节点。在每个节点上,我都有运行的容器,我可以用docker ps.看到这些容器

当我做docker服务时,我会看到由集群运行的服务。但是当我查看端口描述的输出时,打开的端口是不同的。怎么可能呢?

当应用程序运行时,工作是由集群中的容器还是服务完成的?

感谢

当在群中发布端口服务时,不同端口的行为是使用群模式路由网格时的正常行为。当您发布服务的端口但不使用已发布的端口值时,就会发生这种情况。因此,如果不使用已发布的端口,则会为每个服务任务绑定一个随机的高编号端口。您需要检查任务以确定端口

$ docker service create 
--name <SERVICE-NAME> 
--publish published=<PUBLISHED-PORT>,target=<CONTAINER-PORT> 

例如,以下命令将nginx容器中的端口80发布到群中任何节点的端口8080

$docker service create 
--name my-web 
--publish published=8080,target=80 
--replicas 2 
nginx

在此链接中,您将找到有关此行为的信息。

当您在当前配置中通过yaml文件应用更改时,此操作将使用新yaml文件中的新配置覆盖当前设置,因此请采取预防措施,例如在应用任何更改之前从当前配置进行备份。

最新更新