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 的问题。

相关推荐
打工仔折腾 AI3 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
xbzb7 小时前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry
wz97541 天前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*1 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路1 天前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao1 天前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
duansamve2 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud2 天前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
xbzb2 天前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水2 天前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器