关于vm虚拟机下docker容器不能访问外网问题的解决(apt-get失败问题)

关于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" .
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值