在我的docker-compose.yml文件中,具有以下内容。但是,容器不会选择主机名值。有任何想法吗?
docker-compose.yml
dns: image: phensley/docker-dns hostname: affy domainname: affy.com volumes: - /var/run/docker.sock:/docker.sock
当我检查容器中的主机名时,它没有启动affy。
affy
我发现使用时主机名对其他容器不可见docker run。事实证明这是一个已知问题(也许是一个已知功能),其中一部分讨论是:
docker run
我们可能应该在文档中添加有关使用主机名的警告。我认为它很少有用。
就容器网络而言,分配主机名的正确方法是定义一个别名,如下所示:
services: some-service: networks: some-network: aliases: - alias1 - alias2
不幸的是,这 仍然 无法使用docker run。解决方法是为容器分配一个名称:
docker-compose run --name alias1 some-service
并且alias1然后可以从其他容器ping通。
alias1