设置集群后Docker无法本地连接

时间:2018-11-30 00:18:39

标签: docker swarm

我在第3部分中完成了docker教程文档。由于我的计算机是Windows,因此我使用了docker工具箱。在第3部分之前,我使用命令docker run -p 8080:80 test,它可以连接到192.168.99.100:8080,成功。

但是当创建一个集群并部署docker-compose.yml时,它是成功的。

ID                  NAME                MODE                REPLICAS            IMAGE                         PORTS
uskmy4zkflhf        testswarm_web       replicated          5/5                 ***/get-started:test   *:6666->80/tcp

但是,当我使用192.168.99.100:6666进行连接时,无法显示该页面,而使用ping时,我可以看到可以连接192.168.99.100。

卸载工具箱然后重新安装时,仅部署一次,这意味着整个程序仅将端口设置一次,并且没有容器占用它。在这种情况下也不起作用。

这是什么问题?

1 个答案:

答案 0 :(得分:0)

使用独立模式或群集模式时,端口发布机制的工作方式有所不同。如果您以群体模式使用撰写文件,则不应使用docker-compose up,而应使用docker stack deploy

我建议分步进行,而不是使用stack deploy或撰写方法,首先要学会使用docker service create命令,并一次使用一项服务。

尝试docker service create --name proxy --publish 8080:80 nginx,看看是否可以通过192.168.99.100:8080访问NGINX。到达之后,请尝试使用docker service update --replicas=5 proxy进行缩放。

一旦您对此感到满意,就应该能够更准确地判断发生了什么。

如果您想更深入地研究群体模式下por的发布方式,建议使用this docs article