关于Docker无法访问外网的分析

检查服务器网络

// ping域名
[root@172 ~]# ping  www.baidu.com
PING www.a.shifen.com (36.155.132.55) 56(84) bytes of data.
64 bytes from 36.155.132.55 (36.155.132.55): icmp_seq=1 ttl=42 time=38.3 ms
64 bytes from 36.155.132.55 (36.155.132.55): icmp_seq=2 ttl=42 time=37.5 ms
64 bytes from 36.155.132.55 (36.155.132.55): icmp_seq=3 ttl=42 time=37.6 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 37.514/37.810/38.302/0.384 ms

服务器网络没问题。

检查容器网络

// 查看容器
[root@172 ~]# docker ps
// 进入容器
[root@172 ~]# docker exec -it  容器ID bash
// ping 域名
bash-4.2# ping www.baidu.com;
bash: ping: command not found

docker没有ping命令

使用nsenter命令实现容器的网络检测

1、获取容器pid,执行下面的命令,获取pid的值
docker inspect [容器名]
2、进入容器对应的network namespace
nsenter -n -t [容器pid]
3、执行ping、telnet操作
ping www.baidu.com
4、退出network namespace
exit
## 功能快捷键

容器无法访问外网

查看docker网络桥接并修复

https://blog.csdn.net/qq_35641923/article/details/121549499

没有效果

关闭防火墙

也没有效果

配置Docker防火墙模式

# 关闭docker
[root@172 ~]# systemctl stop docker

[root@172 ~]# vi /etc/docker/daemon.json
# 如果没有这个文件则新建  格式是json的格式
# 添加如下一行
"iptables":false

# 启动docker
[root@172 ~]# systemctl start docker

注意点

目前是通过关闭防火墙的形式,后续还是得看看怎么在启用防火墙的情况,正常使用docker访问外网

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值