是否有可能结合领事上行流连接,除了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
所以它可以在本地泊坞网络上被曝光?
这里的技巧是使用network_mode = "host"
的车斗容器,并希望利用三轮任何其他容器两者。主机泊坞窗网络使这成为可能:
"RABBITMQ_HOST" = "localhost"
"RABBITMQ_PORT" = "${NOMAD_PORT_proxy_rabbitmq}"
由于领事连接边车结合所有上行流至localhost
和泊坞host
网络暴露在容器内的所有端口,就好像将容器作为运行在主机上的原处理。