领事连接上行接口的Docker容器

问题描述 投票:0回答:1

是否有可能结合领事上行流连接,除了127.0.0.1回环另一个接口?

Consul Connect - Nomad这篇文章说,你可以运行官泊坞容器内的连接代理,但再有就是上游的依赖不能暴露的问题。运行raw_exec版本我看到主机127.0.0.1可用的上行流。但是,如果我在一个容器内运行相同的配置其他容器无法连接到这些端口。

实施例的配置:

    task "proxy" {
      driver = "docker"

      config {
        image = "consul:1.4.0"
        force_pull = true
        network_mode = "host"

        args = [
          "connect", "proxy",
          "-service", "api",
          "-log-level", "debug",
          "-upstream", "upstream:${NOMAD_PORT_tcp}"
        ]
      }

      env {
        "CONSUL_HTTP_ADDR" = "${NOMAD_IP_tcp}:8500"
      }

      resources {
        network {
          port "tcp" {}
        }
      }
    }

在这种配置中上游叫服务,如果您sh于容器本身,并与netcat检查才可用。有没有办法迫使领事连接绑定上游服务0.0.0.0所以它可以在本地泊坞网络上被曝光?

docker consul nomad
1个回答
0
投票

这里的技巧是使用network_mode = "host"的车斗容器,并希望利用三轮任何其他容器两者。主机泊坞窗网络使这成为可能:

"RABBITMQ_HOST" = "localhost"
"RABBITMQ_PORT" = "${NOMAD_PORT_proxy_rabbitmq}"

由于领事连接边车结合所有上行流至localhost和泊坞host网络暴露在容器内的所有端口,就好像将容器作为运行在主机上的原处理。

© www.soinside.com 2019 - 2024. All rights reserved.