小编典典

如何在docker-compose中设置主机名?

docker

在我的docker-compose.yml文件中,具有以下内容。但是,容器不会选择主机名值。有任何想法吗?

dns:
  image: phensley/docker-dns
  hostname: affy
  domainname: affy.com
  volumes:
    - /var/run/docker.sock:/docker.sock

当我检查容器中的主机名时,它没有启动affy


阅读 3371

收藏
2020-06-17

共1个答案

小编典典

我发现使用时主机名对其他容器不可见docker run。事实证明这是一个已知问题(也许是一个已知功能),其中一部分讨论是:

我们可能应该在文档中添加有关使用主机名的警告。我认为它很少有用。

就容器网络而言,分配主机名的正确方法是定义一个别名,如下所示:

services:
  some-service:
    networks:
      some-network:
        aliases:
          - alias1
          - alias2

不幸的是,这 仍然 无法使用docker run。解决方法是为容器分配一个名称:

docker-compose run --name alias1 some-service

并且alias1然后可以从其他容器ping通。

2020-06-17