当我访问MANAGERIP中的管理器节点时,它不会对其工作负载进行负载,但如果我访问WORKERIP,它们将在它们之间进行负载平衡并使管理器退出。
我的docker-compose.yml:
version: "3"
services:
web:
image: -
deploy:
replicas: 3
resources:
limits:
cpus: "0.5"
restart_policy:
condition: on-failure
ports:
- "80:80"
- "8080:80"
networks:
- webnet
volumes:
- /home/{{ ansible_user }}/.env:/home/opus/.env
- /home/{{ ansible_user }}/database.php:/home/opus/config/database.php
networks:
webnet:
这是一个配置问题?管理员可以访问所有节点,并且所有节点都在运行容器。
问题是我无法将外部ip通告给swarm,所以正确的语法是:
docker swarm init
--advertise-addr=**GoogleCloud Machine Internal IP(10.*.*.*)**
对于docker join来说同样的事情,工作者应该使用管理器内部IP。