将Docker父主机ip插入容器的hosts文件中

Ida*_*lan 11 docker

我是Docker的新手,并试图了解将docker parent host ip插入容器主机文件的最佳方法是什么.

我在Dockerfile中使用以下命令

RUN /sbin/ip route|awk '/default/ { print $3,"\tdockerhost" }' >> /etc/hosts

但有时候主机ip得到改变所以它不再相关......

如果你问自己,这样做的原因是我需要访问另外2个码头工人容器(并且链接不提供此功能).

谢谢,

Bry*_*yan 13

--add-host选项用于本作.因此,在您的docker run命令中,执行以下操作:

docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print  $3}'` [my container]
Run Code Online (Sandbox Code Playgroud)

  • 有没有人知道是否可以在Docker compose的[`extra_hosts:`](https://docs.docker.com/compose/compose-file/#/extra-hosts)配置中使用它? (2认同)

Gon*_*ora 5

--add-host选项可以在您创建/运行容器时使用,但由于/sbin/ip命令在 OSX 等操作系统中不可用,我们可以使用更通用的解决方案:
docker run --add-host=dockerhost:`docker network inspect \ --format='{{range .IPAM.Config}}{{.Gateway}}{{end}}' bridge` [IMAGE]