我在尝试在虚拟机上使用 Docker Swarm 时遇到了困难。同样的过程在我的本地机器上运行良好。
我使用以下命令在虚拟机上初始化了 Docker Swarm:
docker swarm init --advertise-addr MY_IP_HERE
然后:
docker stack deploy -c docker-swarm.yml app_name
例如,docker-swarm.yml:
version: '3.9'
services:
nginx:
image: nginx:latest
ports:
- 80:80
networks:
- global
networks:
global:
driver: overlay
在终端中:
docker service ls
输出:
ID NAME MODE REPLICAS IMAGE PORTS
5ns3ui99o82a app_nginx replicated 1/1 nginx:latest *:80->80/tcp
在终端中:
curl http://localhost or my_ip
输出:
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
我相信这与网络部分有关,但我不知道该怎么办,好像我没有暴露端口 80:80。但是,在我的计算机上,它正常暴露。这只发生在虚拟机上。