服务器无法连接到 Docker Hub 的官方镜像仓库

看到这个报错 dial tcp 199.16.156.7:443: i/o timeout,说明你的服务器无法连接到 Docker Hub 的官方镜像仓库。

虽然你的 Docker 服务已经安装并启动成功(Started Docker Application Container Engine),但网络不通导致无法搜索或拉取镜像。

这通常是因为国内访问 Docker 官方服务器不稳定或被屏蔽。请按照以下步骤解决:

1. 配置国内镜像加速器(最核心步骤)

你需要配置阿里云或网易云的镜像加速器,这是解决国内 Docker 拉取慢和连接超时的最有效方法。

配置方法:

复制代码
# 编辑或创建 daemon.json 文件
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF

# 重启 Docker 服务使配置生效
sudo systemctl daemon-reload
sudo systemctl restart docker

2. 检查服务器网络连通性

如果配置了镜像加速器后依然报错,请检查服务器本身是否能访问外网。

  • 测试 DNS 解析 :

    复制代码
    ping www.baidu.com

    如果 ping 不通,说明服务器网络配置有问题(如 DNS 设置错误或安全组未放行 ICMP)。

  • 测试 HTTPS 访问 :

    复制代码
    curl -v https://hub.docker.com

    如果出现 SSL 错误或连接超时,说明服务器处于断网状态或被防火墙拦截。

3. 检查云服务器安全组规则

如果你使用的是阿里云、腾讯云等云服务器,请登录云控制台检查安全组设置:

  • 出方向:必须允许所有流量(默认通常允许)。
  • 入方向 :必须放行 443 端口(HTTPS)和 80 端口,否则无法访问镜像仓库。

4. 临时关闭防火墙测试(可选)

如果你的系统开启了 firewalld 或 iptables,可能会拦截 Docker 的连接。

复制代码
# 临时关闭防火墙(测试用)
sudo systemctl stop firewalld
# 再次尝试 docker search mysql

建议优先执行第 1 步配置镜像加速器,这通常能直接解决问题。

相关推荐
倔强的石头1065 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup7 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化
还卿一钵无情泪8 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
打工仔折腾 AI9 小时前
Docker镜像分层与卷挂载到底怎么工作:一次文件系统层面的实测分析
运维·人工智能·后端·python·docker·容器·性能优化
大猫会长9 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
夜之眷属10 小时前
服务器被挖矿病毒入侵的排查与清理实录
运维·服务器
极客先躯10 小时前
高级java每日一道面试题-2026年01月20日-实战篇[Docker]-如何实现镜像的跨区域复制?
java·运维·docker·容器·架构图
传人10 小时前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器
韩振方10 小时前
为什么服务显示占了 8G,实际内存却没那么多?
运维