在Docker群模式下未暴露的端口

时间:2019-10-30 08:22:03

标签: azure docker docker-swarm

我正在尝试使用docker swarm设置非常简单的服务,而暴露端口存在问题。

我有两台机器,让它们分别命名为xxx和yyy。当我简单

docker run -d -p 9200:9200 -p 9300:9300 elasticsearch:7.4.0

它们都可以正常工作,我可以去xxx:9200拥有Elasticsearch实例

我尝试对群组模式执行相同操作,因此,在我做的xxx机器上:

docker swarm init --advertise-addr [external IP of xxx machine]

我获得了正确的令牌,并且成功地将yyy机器加入了集群。 然后,我使用

创建了新的覆盖网络
docker network create -d overlay dockerdemo

并使用

在此集群中创建了服务

docker service create --name swarmelasticsearch --network dockerdemo --replicas 2 -p 9200:9200 -p 9300:9300 elasticsearch:7.4.0

服务创建成功,两台机器都运行了带有Elasticsearch的容器,但是我无法从外部访问它们。当我转到xxx:9200或yyy:9200或XXX-9200端口时,什么也没发生。我无法到达我的网站。为什么?我还需要做更多的事情吗?我的两台机器都在具有Ubuntu +最新docker的Azure VM上。

0 个答案:

没有答案