如何在运行 docker 容器时在 /etc/hosts 中添加新的主机条目

这篇文章展示了如何在 docker 容器运行时将主机条目添加到 /etc/hosts 上。
出于本文的目的,我们使用 CentOS/RHEL 7 主机。
但这应该适用于任何能够运行最新 docker 版本的 Linux 主机。

一般来说,在运行docker容器之前不能修改/etc/hosts文件。
但是,当前的 docker 有一个选项“-add-host”,它在容器运行时将主机条目添加到 /etc/hosts 中。
以下是在创建新 docker 容器时添加主机条目的语法。

$ sudo docker run --add-host [Hostname]:[IPAddress] -ti [Source_Container_Image] /bin/bash

例如添加一个新的主机条目 (192.168.0.1 host2.test.com) 使用以下命令:

$ sudo docker run --add-host host1.test.com:192.168.0.1 --add-host host2.test.com:192.168.0.2 -ti source_container_image /bin/bash

该示例将 /etc/hosts 放入具有 host1.test.com 和 host2.test.com 的新容器中,例如:

[root@63933bfcd3d3 /]# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.0.1 host1.test.com
192.168.0.2 host2.test.com
172.17.0.4 63933bfcd3d3
[root@63933bfcd3d3 /]#
日期:2020-09-17 00:16:24 来源:oir作者:oir