Docker容器DNS别名在其他容器

时间:2017-11-20 14:20:09

标签: docker docker-compose

我想设置两个Docker容器,它们都知道自己的DNS名称和其他DNS名称。如果必须只在一个方向,它很容易用链接。但链接在容器之间建立了依赖关系,阻止它们启动。

我想要的是这样的东西(docker-compose.yml):

version: '3'
services:

  one:
    hostname: one.priv
    links:
      - "two:two.priv"

  two:
    hostname: two.priv
    links:
      - "one:one.priv"

1 个答案:

答案 0 :(得分:1)

您可以在docker-compose v3中创建网络和别名。

你可以定义一个或两个网络(我会写一个更复杂的例子):

networks:
  mynetwork:
  mynetwork2:

然后在每个网络中定义一个别名:

services:
  one:
    networks:
      mynetwork1:
        aliases:
         - one
         - one.priv
      mynetwork2:
        aliases:
         - one2
  two:
      mynetwork1:
        aliases:
         - two
         - two.priv
      mynetwork2:
        aliases:
         - two