将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]