docker容器出现 24小时故障排除 no route to host

都是Centos7 一台业务系统服务器A docker,数据库服务器B docker
症状:服务器A宿主机能ping通B,服务器A容器中无法ping通B。同时服务器A容器中可ping 8.8.8.8,但无法上网 ping www.baidu.com不通。

之前预判可能性:

1、外部防火墙拦截,因有服务器之间防火墙。
2、服务器A docker容器中解析DNS问题
3、docker桥接问题
4、服务器A防火墙问题
5、docker0网卡问题

引用解决方案

https://blog.csdn.net/qq_35641923/article/details/121549499
Docker - 没有到主机的路由 - 堆栈溢出 (stackoverflow.com)
Docker - 没有到主机
运维(18) 解决Docker容器内无法访问外网问题
Docker容器内不能联网的6种解决方案 - 这个够全的,可惜还是没有解决

一一找到解决方案,处理后都不能解决,最终都不是以上原因。

容器IP端与宿主机一致,暴力解决重新拉取:
networks:
    networks_default:
        ipam:
            driver: default
            config:
                - subnet: "200.0.0.0/16" # 宿主机为201,容器改为200
  • 先down了
docker-compose down 
  • 清理掉所有容器和镜像,我是还没有业务数据,谨慎操作
docker system prune -a  
  • 重新build
docker-compose build
  • 重新拉取跑起来
docker-compose up -d

重新跑起来后,进入容器ping www.baidu.com终于可以了。

你可能感兴趣的:(docker容器出现 24小时故障排除 no route to host)