Docker 无法从 Docker Hub 拉取镜像,通常是由于 网络连接问题 或 Docker Hub 访问受限 导致

这个错误表明 Docker 无法从 Docker Hub 拉取镜像,通常是由于 网络连接问题Docker Hub 访问受限 导致的。以下是几种解决方案:


解决方案

1. 检查网络连接

bash 复制代码
# 测试 Docker Hub 连通性
curl -I https://registry-1.docker.io/v2/

# 检查 DNS 解析
nslookup registry-1.docker.io

2. 配置 Docker 镜像加速器(推荐)

在中国Docker Hub 官方源可能被限制,建议配置镜像加速器:

编辑 Docker 配置文件:

bash 复制代码
sudo nano /etc/docker/daemon.json

添加以下内容(选择其中一个或多个加速器):

json 复制代码
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "https://hub.rat.dev",
    "https://docker.mirrors.ustc.edu.cn",
    "https://dockerpull.com",
    "https://docker.1panel.top",
    "https://docker.foreverlink.love"
  ]
}

重启 Docker:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 手动拉取镜像

配置加速器后,先单独拉取失败的镜像:

bash 复制代码
# 拉取失败的镜像
docker pull alpine/nikto:latest
docker pull zaproxy/zap-stable:latest
docker pull projectdiscovery/nuclei:latest

# 如果 alpine/nikto 找不到,尝试替代镜像
docker pull secfigo/nikto:latest

4. 修改 docker-compose 使用替代镜像

如果 alpine/nikto 镜像确实不存在或无法拉取,编辑 docker-compose.yml 修改镜像源:

yaml 复制代码
# 找到 nikto 服务部分,修改为:
  nikto:
    image: secfigo/nikto:latest  # 或其他可用镜像
    # 或者使用官方 Kali Linux 中的 nikto
    # image: kalilinux/kali-rolling:latest

5. 临时使用代理

如果你有 HTTP 代理:

bash 复制代码
# 设置环境变量
export HTTP_PROXY=http://your-proxy:port
export HTTPS_PROXY=http://your-proxy:port

# 然后重新运行
make start

6. 检查防火墙/安全软件

bash 复制代码
# 检查防火墙状态
sudo ufw status
sudo iptables -L

# 临时关闭防火墙测试(谨慎操作)
sudo ufw disable

快速排查步骤

bash 复制代码
# 1. 验证 Docker 是否正常运行
docker info

# 2. 测试拉取一个简单的镜像
docker pull hello-world

# 3. 如果上面成功,尝试拉取失败的特定镜像
docker pull alpine/nikto:latest

# 4. 查看详细错误信息
docker pull alpine/nikto:latest 2>&1

如果问题持续

请提供以下信息以便进一步诊断:

bash 复制代码
# 查看 Docker 版本
docker version

# 查看系统信息
uname -a

# 测试网络连通性
ping -c 4 128.242.245.244
curl -v https://registry-1.docker.io/v2/

最可能的解决方案是配置 Docker 镜像加速器(方案2),这通常能解决中国大陆访问 Docker Hub 的问题。

相关推荐
小锋学长生活大爆炸9 小时前
【教程】免Root在Termux上安装Docker
运维·docker·容器
进击切图仔9 小时前
常用 Docker 命令备份
运维·docker·容器
德育处主任13 小时前
『NAS』将魂斗罗马里奥塞进NAS里
前端·javascript·docker
Mr.小海14 小时前
Docker 底层解析与生产环境实战指南
java·docker·eureka
我在人间贩卖青春15 小时前
C++之STL容器
c++·容器·stl
流氓也是种气质 _Cookie16 小时前
Linux上安装Docker
linux·redis·docker
A-刘晨阳17 小时前
K8S 之 DaemonSet
运维·云原生·容器·kubernetes·daemonset
小锋学长生活大爆炸17 小时前
【教程】查看docker容器的TCP连接和带宽使用情况
tcp/ip·docker·容器
ccino .18 小时前
【Drupal文件上传导致跨站脚本执行(CVE-2019-6341)】
运维·网络安全·docker·容器
江湖有缘19 小时前
自托管RSS解决方案:Docker化Fusion安装教程
java·jvm·docker