1. 使用命令 RUN echo -e “host:ip” >> /etc/hosts 不生效
  2. 以为是命令太长了,没有执行;修改为将域名放到脚本中上传,然后执行,发现还是不行
  3. 登入容器,直接执行,是成功的,怀疑是没有权限。
  4. 在Dockerfile中增加赋权语句,还是失败

最终的解决方法:docker run --add-host=myhost:192.168.0.1 …

如果有多个域名
docker run --add-host=host1:IP1 --add-host=host2:IP2 …

最后解释一下为啥docker里面的hosts文件不让修改的原因
在这里插入图片描述
实践看一下网卡和各个容器里面的网络配置:在这里插入图片描述
一个docker容器启动的后端服务配置的ip:
在这里插入图片描述
另外一个docker容器启动的后端服务配置的ip:
在这里插入图片描述
由此猜测, 后续的其他容器配置的ip都应该是的上面那个网段里面的

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐