version: '3'services:api:image: 10.211.55.103:5000/swarm/swarm-api:1.0-SNAPSHOTports:- "8123:8123"stop_grace_period: 10sdeploy:mode: replicatedreplicas: 3networks:- twxclient:image: 10.211.55.103:5000/swarm/swarm-client:1.0-SNAPSHOTports:- "8124:8124"stop_grace_period: 10sdeploy:mode: replicatedreplicas: 3networks:- twxnetworks:twx:
如果服务不指定network的话,是 无法通过服务名称进行调用的。
如上这个stack文件,通过命令docker stack deploy -c docker-mh.yml mh部署时会创建
- mh_twx 网络
- mh_api 服务
- mh_client 服务
此时api服务和client服务是连接到同一个overlay网络上的,所以可以通过服务名访问。
比如进入client服务的任意一个容器,执行 ping api 命令 ,便能访问到api服务。
