gpt4 book ai didi

docker - 可以从容器中确定 Docker 主机的主机名吗?

转载 作者:行者123 更新时间:2023-12-02 18:11:39 25 4
gpt4 key购买 nike

这是对 this one. 的重复问题。 .但具有讽刺意味的是,尽管有这个问题的标题,但所有答案都说:使用 ENV 变量。

我的用例:我不知道 docker 是通过 docker-compose 还是 swarm 运行的。但是,它不会是 docker run!我正在尝试启动驻留在主机上的升级脚本。因此,在一个容器中,我需要 docker 主机名。有没有任何编程方式可以在没有环境变量的情况下获得这个?

最佳答案

这是已在 17.10 中实现的功能请求https://github.com/moby/moby/issues/30966

这就是你的做法:

$ hostname testing123

$ docker service create \
--name foo \
--hostname "{{.Service.Name}}-{{.Task.Slot}}-{{.Node.Hostname}}" \
nginx:alpine

$ docker inspect foo.1.k51r3eclvcelsxy6jthtavkwa --format
'{{.Config.Hostname}}'
foo-1-testing123

这也应该适用于 docker-compose
services:
nginx:
image: nginx
hostname: '{{.Node.Hostname}}'

关于docker - 可以从容器中确定 Docker 主机的主机名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45496260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com