由于我们公司内网的Gitlab服务,域名是托管在内网的DNS上,通过公共的DNS无法解析。所以,在构建统一的Dockerimage时,发现在构建的image里无法连上内网的gitserver来pull代码,通过CI的Web终端,发现是因为我们的域名在Dockerimage里无法解析。(docker只提倡通过docker命令启动image的时候添加hosts条目)
方法/步骤
1hosts文件不能在image里面修改,是因为这个文件是通过动态mount进Dockerimage。
2DNS,默认从宿主主机上获取DNS,所以,如果修改好宿主的DNS,在其上启动的Dockerimage的DNS便会是修改好的DNS。