我在第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。
卸载工具箱然后重新安装时,仅部署一次,这意味着整个程序仅将端口设置一次,并且没有容器占用它。在这种情况下也不起作用。
这是什么问题?
答案 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。