在具有桥接网络的 Docker 容器中映射主机的 /etc/hosts

2024-01-19

我有一台主机,其 /etc/hosts 文件中定义了一些主机解析。

在这台机器上,我正在运行配置了 Bridge 网络的 Docker 容器。
由于我不在主机网络上,我的 Docker 容器无法访问我的机器 /etc/hosts 文件的主机定义。

不幸的是,目前还没有 DNS 选项。

我的问题是如何使用桥接网络在容器中使用这些定义?我读到在容器中安装主机 /etc/hosts 文件不是一个好的选择,因为这是由 docker deamon 在内部处理的。
你知道我还能怎样实现这个目标吗?


我认为使用命令行选项可能会更好--add-host将条目添加到/etc/hosts容器的。

这是摘录自官方 Docker 参考 https://docs.docker.com/engine/reference/run/#network-settings

管理/etc/hosts

您的容器将在 /etc/hosts 中包含定义主机名的行 容器本身以及本地主机和其他一些常见的 事物。 --add-host 标志可用于添加额外的行 /etc/hosts.conf

$ docker run -it --add-host db-static:86.75.30.9 ubuntu cat /etc/hosts
172.17.0.22     09d03f76bf2c
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
127.0.0.1       localhost
::1               localhost ip6-localhost ip6-loopback
86.75.30.9      db-static
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在具有桥接网络的 Docker 容器中映射主机的 /etc/hosts 的相关文章

随机推荐