docker 容器绑定hosts

问题

最近有个需求需要在docker容器里进行hosts绑定。尝试了将hosts 写在Dockerfile里,构建出镜像,但是启动容器后绑定的hosts会丢失;而且手动进入容器绑定hosts后,重启容器后hosts也会丢失。

原因

简单的说,docker容器里的/etc/hosts是动态生成的,重启容器或者由镜像run一个容器时,/etc/hosts会被重新构建,所以无论怎么修改hosts,最后都会被重置。
另外如果仔细观察可以发现,容器的hosts里有一条容器id的hosts,绑定的是容器内部的ip,而这个ip是会变的,更加说明hosts是动态的。

172.17.0.2	7049a6a6b2f1
解决方式

在run 命令 后边加入 --add-host 参数,绑定hosts
如:

docker run -d -p 8080:8080 --add-host api.test.com:10.100.33.101 test

参考
docker修改hosts

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值