如何从集群外部访问Docker Swarm服务?

如何从集群外部访问Docker Swarm服务?

如果我的集群中正在运行一个 Web 应用程序,我如何从外部客户端访问它?我是否需要反向代理,或者是否有“群体方式”来做到这一点?

答案1

当您创建服务时,您需要使用该--publish选项。

例如:

docker service create --detach=true --replicas 3 --publish 80:80 --name httpd httpd

现在80端口暴露在主网络上。有用的是,每一个群中的服务器发布端口 80,并将执行内部重定向到容器实际运行的位置。

同样,如果您使用堆栈,则可以使用该ports选项。例如:

services:
  web:
    image: httpd
    ports:
      - 80:80

相关内容