将Docker父主机IP插入容器的主机文件

我是Docker的新手,并试图了解将docker父主机ip插入容器主机文件的最佳方法。

我在我的Dockerfile中使用以下命令

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

但有时主机ip得到改变,所以它不相关了…

这样做的原因,如果你问自己,是我需要访问另外2个docker集装箱(和链接不提供此function)。

谢谢,

--add-host选项是为此做的。 所以,在你的docker run命令,做一些事情:

 docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [my container] 

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