我想设置两个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/