我想设置两个Docker容器,这两个容器都知道自己的容器和其他DNS名称。如果必须仅在一个方向上进行连接,则很容易做到。但是链接会在容器之间建立依赖关系,从而阻止它们启动。

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

version: '3'
services:

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

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

最佳答案

您可以在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

关于docker - Docker容器DNS别名在其他容器中可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47394205/

10-16 06:45