我在第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可以连接。
当我卸载工具箱然后重新安装它时,我只部署它一次,这意味着整个程序只设置一次端口,没有容器占用它。它在这种情况下也不起作用。
这有什么问题呢?
发布于 2018-11-30 22:50:38
当您使用独立或集群模式时,端口发布机制的工作方式有所不同。如果你在群组模式下使用合成文件,你不应该使用docker-compose up,而应该使用docker stack deploy。
我建议循序渐进,而不是使用stack deploy或compose方法,首先学习使用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。
https://stackoverflow.com/questions/53549499
复制相似问题