在我的docker-compose.yml
文件中,我有以下内容。但是容器没有选择主机名值。有什么想法吗?
dns:
image: phensley/docker-dns
hostname: affy
domainname: affy.com
volumes:
- /var/run/docker.sock:/docker.sock
当我检查容器中的主机名时,它不会拾取affy
。
这似乎工作正常。如果我把你的配置放到一个文件里:
$ cat > compose.yml <<EOF
dns:
image: phensley/docker-dns
hostname: affy
domainname: affy.com
volumes:
- /var/run/docker.sock:/docker.sock
EOF
然后把事情提出来:
$ docker-compose -f compose.yml up
Creating tmp_dns_1...
Attaching to tmp_dns_1
dns_1 | 2015-04-28T17:47:45.423387 [dockerdns] table.add tmp_dns_1.docker -> 172.17.0.5
然后检查容器内的主机名,一切似乎都很好:
$ docker exec -it stack_dns_1 hostname
affy.affy.com
我发现在使用docker run
时,主机名对其他容器不可见。这是一个已知问题(也许更像是一个已知特性),部分讨论是:
我们可能应该在文档中添加有关使用主机名的警告。我认为它很少有用。
就容器网络而言,分配主机名的正确方法是定义一个别名,如下所示:
services:
some-service:
networks:
some-network:
aliases:
- alias1
- alias2
不幸的是,这仍然不能与docker run一起使用。解决方法是为容器指定一个名称:
docker-compose run --name alias1 some-service
然后可以从其他容器中pinged通< code>alias1
。
更新:正如@grilix所指出的,您应该使用 docker-撰写运行 --use-alias
来使定义的别名可用。
从docker-compose 3.0及更高版本开始,您只需使用主机名
键:
version: "3.0"
services:
yourservicename:
hostname: your-name
问题内容: 在我的文件中,具有以下内容。但是,容器不会选择主机名值。有任何想法吗? 当我检查容器中的主机名时,它没有启动。 问题答案: 我发现使用时主机名对其他容器不可见。事实证明这是一个已知问题(也许是一个已知功能),其中一部分讨论是: 我们可能应该在文档中添加有关使用主机名的警告。我认为它很少有用。 就容器网络而言,分配主机名的正确方法是定义一个别名,如下所示: 不幸的是,这 仍然 无法使用。
这是我当前的DockerFile: 我的项目是这样的:
问题内容: 我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载所做的更改而不必重建docker映像。我使用docker compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器 我在我的中定义了两个容器: 我已经到了我应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中? 这是
问题内容: 我有一个docker- compose文件,该文件在同一主机中部署8个不同的docker服务。是否可以在不同的主机中部署它?我想在一个主机中远程部署某些服务,而在其他主机中远程部署其他服务。我需要使用docker- swarm吗?还是更简单的方法? 我已经阅读到可以使用DOCKER_HOST来完成此操作,但是如果我使用此变量配置/ etc / default / docker,则所有服
问题内容: 我在设置中运行官方Redis镜像https://hub.docker.com/_/redis/。 如何在该图像上使用docker-compose 运行? 我尝试了以下操作,但未连接: 图片的文档说我应该运行: 这是什么意思? 问题答案: 那会覆盖默认值:您试图在从未执行过的容器上运行。 如此处所述,您还可以使用以下方法进行测试: 如这个docker / compose问题2123 所述
2017/09/04 15:58:33 server.go:73:使用API v1 2017/09/04 15:58:33 debugger.go:97:使用args启动进程:[/go/src/debug]无法启动进程:fork/exec/go/src/debug:不允许操作