关于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
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论

打赏作者

qq_39602928

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值