Docker撰写链接不与主机模式一起工作

如果我使用“主机”模式,使得docker链接工作有问题。 如果使用“主机”模式,如何访问其他链接的Docker容器?

一个例子:

如果我使用下面的这2个组合文件,我可以运行下面的代码:

$ docker-compose up

$ docker exec -it [容器ID为REDIS1] bash

$ redis-cli -h redis2 [OR redis-cli -h redis2-alias]

$ PING =>您将从redis2获取PONG

泊坞窗,compose.yml

version: "2" services: redis1: image: "redis" ports: - "6379" links: - redis2:redis2-alias redis2: extends: file: docker-compose.redis2.yml service: redis 

泊坞窗,compose.redis2.yml

 version: "2" services: redis: image: "redis" ports: - "6379" 

但是,如果您将docker-compose.redis2.yml更改为使用主机模式。 当你尝试连接到redis2(从redis1)…它只是挂起,从来没有连接

泊坞窗,compose.redis2.yml

 version: "2" services: redis: image: "redis" network_mode: "host" 

$ docker-compose up

$ docker exec -it [容器ID为REDIS1] bash

$ redis-cli -h redis2 =>这只是挂起…从来没有连接到redis2

你如何从redis1连接到redis2(当它在主机模式)?

--net=host不支持链接。 链接现在也被弃用(哲学)。 更喜欢使用自定义networking。

看起来像Docker由于其复杂性而select不支持这个用例,请参阅这里的GitHub问题 。