众所周知,docker有三种默认的网络模式,分别是:

  1. bridge
  2. host
  3. none

 然后需要注意的就是内核转发这个,一定不要忘了!配置方法如下

echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
sysctl -p

 执行结果如下:

root@dell-PC:~# echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
root@dell-PC:~# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
root@dell-PC:~# 

 参数解释:(后面再更新)

切入正题

第一个解决方法:

环境如下:

  1. 戴尔笔记本,双网卡
  2. 系统:deepin15
  3. docker版本:19.03.1

问题如下:

使用默认网络模式无法连接互联网(宿主机已连接互联网)

 

解决办法:指定网络模式为主机网络,方法如下:

docker run -it --rm --network=host centos /bin/bash

 

 

转载于:https://www.cnblogs.com/liuyi778/p/11428076.html

Logo

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

更多推荐