如何从docker swarm集群中的一个docker服务连接到另一个docker服务?

时间:2018-05-30 07:38:54

标签: api docker service microservices docker-swarm

在docker swarm集群中,启动了两项服务:

  • sv_web
  • sv_api

网络的堆叠部署文件是:

version: "3"
services:
  web:
    image: XXX/sv_web:latest
    ports:
      - "80:80"
    networks:
      - webnet
networks:
  webnet:

部署:

docker stack deploy -c ~/docker-compose-web.yml sv

api的堆栈部署文件是:

version: "3"
services:
  web:
    image: XXX/sv_api:latest
    ports:
      - "81:81"
    networks:
      - webnet
networks:
  webnet:

部署:

docker stack deploy -c ~/docker-compose-api.yml sv

现在想要在sv_api应用程序中连接sv_web服务。试着写:

api_server = "sv_api:81"

但部署后无法连接sv_api服务。如果在群集中使用主机的真实IP,则可以找到:[HOST]:81

那么如何以这种方式从Web服务连接到API服务呢?

1 个答案:

答案 0 :(得分:0)

对于连接,您应该使用

  

depends_on

services:
    some_service:
        image: link
        depends_on:
           -api
    api:
      image: link

更多信息,请访问docs:docker docs