标签:network get 虚拟机 vm apt host 模式 docker
关于vm虚拟机下docker容器不能访问外网问题的解决(apt-get失败问题)
最近在学习使用docker的过程中发现打开的docker镜像不能访问外网,使用apt-get下载时提示下载失败,如下图所示:
原本以为是DNS配置有问题导致无法解析域名,但是发现修改DNS配置之后仍然无法连接。
最后发现可以在运行容器时更改docker网络连接模式来解决这个问题,即在docker run 指令后加参数 --network=host,host模式的含义是使docker的网络连接模式与宿主机的网络连接模式一致。命令如下所示:
docker run --network=host -i -t ubuntu /bin/bash
在host模式下,docker容器与宿主机共享网络,即可以访问外网和使用apt-get等操作,而docker run默认的容器网络运行模式是桥接模式即bridge模式(该模式下应该也可以访问外网,但是能力不够没有研究出来应该怎样配置,不管怎么配置仍然无法连接外网)。
同样如果想使用Dockerfile和docker bulid来构建docker镜像,如果Dockerfile中有apt-get等网络下载指令并且由于不能连接网络导致构建失败,同样也可以使用–network=host参数。代码如下所示:
docker build --network=host -t="test/static_web:first" .
qq_39602928
发布了1 篇原创文章 · 获赞 0 · 访问量 10
私信
关注
标签:network,get,虚拟机,vm,apt,host,模式,docker 来源: https://blog.csdn.net/qq_39602928/article/details/104193690
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。