docker 解析DNS失败

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: docker 解析DNS失败

问题现象:

我之前在docker里部署的容器,今天突然访问不了了,一开始我以为是容器的问题,将容器restart,销毁重建,都没有解决。

最后准备重启docker service,在重启之前,看了一眼docker的状态:

ck94 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-04-25 10:06:23 CST; 1 months 3 days ago
     Docs: https://docs.docker.com
 Main PID: 2615 (dockerd)
    Tasks: 172
   Memory: 8.3G
   CGroup: /system.slice/docker.service
           ├─ 2615 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─ 5610 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 55433 -container-ip 172.17.0.3 -container-port 5432
           ├─ 5627 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 55433 -container-ip 172.17.0.3 -container-port 5432
           ├─ 5671 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3000 -container-ip 172.17.0.4 -container-port 3000
           ├─ 5698 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 3000 -container-ip 172.17.0.4 -container-port 3000
           ├─21981 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9200 -container-ip 172.20.0.2 -container-port 9200
           ├─21994 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9200 -container-ip 172.20.0.2 -container-port 9200
           ├─23558 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10086 -container-ip 172.20.0.3 -container-port 9000
           ├─23575 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 10086 -container-ip 172.20.0.3 -container-port 9000
           ├─23624 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 38080 -container-ip 172.20.0.4 -container-port 8080
           ├─23640 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 38080 -container-ip 172.20.0.4 -container-port 8080
           ├─26535 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 49001 -container-ip 172.17.0.2 -container-port 9001
           ├─26552 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 49001 -container-ip 172.17.0.2 -container-port 9001
           ├─26602 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 49000 -container-ip 172.17.0.2 -container-port 9000
           ├─26620 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 49000 -container-ip 172.17.0.2 -container-port 9000
           ├─39170 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5601 -container-ip 172.20.0.5 -container-port 5601
           └─39182 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5601 -container-ip 172.20.0.5 -container-port 5601
May 29 09:24:38 ck94 dockerd[2615]: time="2023-05-29T09:24:38.161269040+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:26:22 ck94 dockerd[2615]: time="2023-05-29T09:26:22.679628216+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:26:27 ck94 dockerd[2615]: time="2023-05-29T09:26:27.683446445+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:27:38 ck94 dockerd[2615]: time="2023-05-29T09:27:38.328922576+08:00" level=warning msg="ShouldRestart failed, container will not be restarted" container=4af5eb860cbfea8961372e...
May 29 09:34:18 ck94 dockerd[2615]: time="2023-05-29T09:34:18.236630475+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:35:02 ck94 dockerd[2615]: time="2023-05-29T09:35:02.949012103+08:00" level=warning msg="ShouldRestart failed, container will not be restarted" container=9969a986040d0f91bc80d9...
May 29 09:36:23 ck94 dockerd[2615]: time="2023-05-29T09:36:23.261658623+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:37:48 ck94 dockerd[2615]: time="2023-05-29T09:37:48.429139761+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:39:50 ck94 dockerd[2615]: time="2023-05-29T09:39:50.051518136+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
May 29 09:43:18 ck94 dockerd[2615]: time="2023-05-29T09:43:18.733473159+08:00" level=warning msg="[resolver] failed to read from DNS server: 223.6.6.6:53, query: ;elasticse... i/o timeout"
Hint: Some lines were ellipsized, use -l to show in full.

里面报大量的DNS解析错误。

我尝试在不同机器上curl该容器的url,在本机执行:

ck94 ~]# curl http://192.168.101.94:49001/browser
<!doctype html><html lang="en"><head><meta charset="utf-8"/><base href="/"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="#081C42" media="(prefers-color-scheme: light)" name="theme-color"/><meta content="#081C42" media="(prefers-color-scheme: dark)" name="theme-color"/><meta content="MinIO Console" name="description"/><meta name="minio-license" content="agpl" /><link href="./styles/root-styles.css" rel="stylesheet"/><link href="./apple-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/><link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="./favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="./manifest.json" rel="manifest"/><link color="#3a4e54" href="./safari-pinned-tab.svg" rel="mask-icon"/><title>MinIO Console</title><script defer="defer" src="./static/js/main.5efdfa93.js"></script><link href="./static/css/main.57e739f5.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"><div id="preload"><img src="./images/background.svg"/> <img src="./images/background-wave-orig2.svg"/></div><div id="loader-block"><img src="./Loader.svg"/></div></div></body></html>

是没有问题的。

我在其他机器上执行:

chenyanchang@chenyanchangdeMacBook-Pro ~ % curl http://192.168.101.94:49001/browser
curl: (7) Failed to connect to 192.168.101.94 port 49001: Operation timed out

解决方案

重启docker服务,重启docker0网卡:

service docker stop
ip link set dev docker0 down
ip link set dev docker0 up
service docker start

再次查看, 问题解决:


推荐一个零声学院免费教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,

fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,

TCP/IP,协程,DPDK等技术内容,点击立即学习: C/C++Linux服务器开发/高级架构师

目录
相关文章
|
21天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
49 3
|
24天前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
43 2
|
1月前
|
运维 持续交付 虚拟化
深入解析Docker容器化技术的核心原理
深入解析Docker容器化技术的核心原理
45 1
|
1月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
2月前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
66 4
|
2月前
|
存储 应用服务中间件 云计算
深入解析:云计算中的容器化技术——Docker实战指南
【10月更文挑战第14天】深入解析:云计算中的容器化技术——Docker实战指南
84 1
|
2月前
|
域名解析 网络协议
非阿里云注册域名如何在云解析DNS设置解析?
非阿里云注册域名如何在云解析DNS设置解析?
|
2月前
|
域名解析 弹性计算
内网域?名解析记录是否会覆盖公网域名解析记录?
内网域?名解析记录是否会覆盖公网域名解析记录?
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
71 2
下一篇
DataWorks