【问题标题】:Docker swarm and service discoveryDocker swarm 和服务发现
【发布时间】:2017-06-11 04:17:52
【问题描述】:

我正在从 docker-compose 文件转移到使用 docker swarm,但我就是想不通。

我有两个服务 - 一个 nginx 代理和一个网站,它们都在 docker swarm(具有三个节点)中运行良好

我遇到的问题是我需要将 nginx 配置为 proxy_pass 到后端网站。目前,我可以让它工作的唯一方法是指定其中一个节点的 IP 地址。

我的服务创建如下:

docker service create --mount type=bind,source=/../nginx.conf,target=/etc/nginx/conf.d/default.conf \ -p 443:443 \ --name nginx \ nginx

docker service create --name ynab \ -p 5000:5000 \ --replicas 2 \ scottrobertson/fintech-to-ynab

我尝试过使用服务名称,但这不起作用。

真的,我认为我什至不必公开 ynab 服务端口(至少在我使用 docker-compose 时可以这样做)

在其中一个 nginx 容器中,我尝试了以下操作: root@5fabc5611264:/# curl http://ynab:5000/ping curl: (6) Could not resolve host: ynab root@5fabc5611264:/# curl http://nginx:5000/ping curl: (6) Could not resolve host: nginx root@5fabc5611264:/# curl http://127.0.0.1:5000/ping curl: (7) Failed to connect to 127.0.0.1 port 5000: Connection refused root@5fabc5611264:/# curl http://localhost:5000/ping curl: (7) Failed to connect to localhost port 5000: Connection refused

使用我尝试连接到正在运行的实例 ID 和名称的进程列表: root@5fabc5611264:/# curl http://ynab.1:5000/ping curl: (6) Could not resolve host: ynab.1 root@5fabc5611264:/# curl http://pj0ekc6i7n0v:5000/ping curl: (6) Could not resolve host: pj0ekc6i7n0v

但是,如果我使用节点公共 IP 地址,我只能让它工作: root@5fabc5611264:/# curl http://192.168.1.52:5000/ping pong root@5fabc5611264:/# curl http://192.168.1.53:5000/ping pong root@5fabc5611264:/# curl http://192.168.1.51:5000/ping pong

我真的不想使用公共 ip,以防该节点出现故障。我确定我一定是做错了什么!

【问题讨论】:

  • 未测试,但您需要将它们放在同一个网络 iirc 上。 docker network create -d overlay my-net, docker service create --network my-net ...
  • 你是对的!就是这样 - 添加它作为答案,这样我就可以给你假的互联网积分!

标签: docker docker-swarm


【解决方案1】:

服务需要连接到同一网络才能正常工作。

$ docker network create -d overlay fake-internet-points
$ docker service create --name service_one --network fake-internet-points [...]
$ docker service create --name service_two --network fake-internet-points [...] 

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多