如何在没有env vars的情况下从该主机上的docker容器内部获取docker主机的主机名

David Xia :

除了使用环境变量之外,还有什么方法可以从在该主机上运行的容器内部获取Docker主机的主机名?我知道我可以在创建容器时将主机名作为环境变量传递给容器。我想知道如何在运行时查找它。

foo.example.com (docker host)
  bar (docker container)

有没有办法bar在docker主机运行的容器foo.example.com获取“ foo.example.com”?

编辑以添加用例:

容器将创建SRV记录以用于表单的服务发现

_service._proto.name. TTL class SRV priority weight port target.
-----------------------------------------------------------------
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo.example.com.

其中20003是docker主机上动态分配的端口,用于服务监听bar中的某个固定端口(docker处理从主机端口到容器端口的映射)。

我的容器将运行状况检查以确保它已成功创建该SRV记录,因为其他Docker主机上还会有许多其他条形容器也创建自己的SRV记录。

_service._proto.name. TTL class SRV priority weight port target.
-----------------------------------------------------------------
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo.example.com. <--
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo2.example.com.
_bar._http.example.com 60 IN SRV 5000 5000 20003 foo3.example.com.

运行状况检查将遍历SRV记录以查找上面的第一个记录,因此需要知道其主机名。

在旁边

我正在使用Helios,发现它为我添加了一个env var,从中可以获取主机名。但是我只是好奇如果我在没有Helios的情况下使用docker。

seanmcl:

您可以将主机名作为环境变量传递。您还可以挂载/ etc,以便可以使用/ etc / hostname。但是我同意Vitaly,这不是IMO容器的预期用例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在没有 root 权限的情况下删除主机上挂载的 Docker 卷目录

如何通过“主机名”在Docker容器之间进行通信

如何永久设置Docker容器的主机名/ IP?

如何使用“主机名”而不是内部 IP 连接两个 Docker 容器

在没有 DNS 服务器的情况下如何解析我的主机名

如何在没有主机名的情况下从JavaScript中的其他端口将URL写入资源

如何在bash中获取映射到docker容器的特定主机名的所有IP地址

如何从 Windows 主机上的 docker 容器内部执行 docker 命令

在没有HttpsUrlConnection的情况下忽略Android SSL套接字中的主机名验证

如何在不重新启动的情况下更改主机名?

Docker Registry 没有自定义主机名

如何从Docker容器内部获取Docker主机的IP地址

如何在容器中解析docker主机名(/ etc / hosts)

如何从Docker容器获取主机上的映射端口?

如何在不ping或bind-utils的情况下从超薄主机(docker)获取远程主机DNS地址?

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

如何通过其主机名ping Docker网络中的其他容器?

如何将主机名添加到同一docker网络上的容器?

NGINX如何解析Docker DNS主机名?

如何使用 docker compose 将主机名从一个容器获取到另一个容器?

如何从IP(Linux)获取主机名?

如何从Android设备获取主机名

如何使用Qt获取主机名?

如何获取请求的主机名?

如何通过Sanic获取主机名?

如何在远程主机上运行Docker容器?

如何在Linux主机上的Docker容器内挂载目录

具有docker-compose的多台主机上的Docker容器

如何从主机获取Docker容器的IP地址