完美解决Docker pull时报错:https://registry-1.docker.io/v2/

本文涉及的产品
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
无影云电脑个人版,1个月黄金款+200核时
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: 本文介绍了在使用Docker时遇到的“context canceled”和“context deadline exceeded”错误,主要表现为无法访问Docker Hub。问题原因可能包括网络连接问题、Docker服务异常或镜像源访问超时。解决方法包括检查网络、确认Docker服务状态及配置镜像源。通过设置国内镜像加速器并重载配置,可有效解决该问题。

1、错误描述

root@ubuntu-database:/opt/dify/docker# docker compose up -d

[+] Running 9/9

✘ api Error        context canceled                                                                                                                                                                            15.1s  

✘ db Error         context canceled                                                                                                                                                                            15.1s  

✘ nginx Error      context canceled                                                                                                                                                                            15.1s  

✘ redis Error      Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)                                                                          15.1s  

✘ ssrf_proxy Error context canceled                                                                                                                                                                            15.1s  

✘ worker Error     context canceled                                                                                                                                                                            15.1s  

✘ weaviate Error   context canceled                                                                                                                                                                            15.1s  

✘ sandbox Error    context canceled                                                                                                                                                                            15.1s  

✘ web Error        context canceled                                                                                                                                                                            15.1s  

Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)


       这个错误表明Docker客户端尝试访问Docker Hub或其他Docker注册中心时出现了问题。具体来说,是在尝试获取注册中心API的响应时遇到了错误。可能的原因包括网络问题、认证问题、注册中心URL不正确或者注册中心服务本身不可用。


2、解决方法

2.1、检查网络连接

       确保你的机器可以访问互联网,特别是Docker Hub或你所使用的私有注册中心。

root@ubuntu-database:/opt/dify/docker# ping www.baidu.com

PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.

64 bytes from 110.242.68.3: icmp_seq=1 ttl=128 time=38.5 ms

64 bytes from 110.242.68.3: icmp_seq=2 ttl=128 time=36.4 ms

64 bytes from 110.242.68.3: icmp_seq=3 ttl=128 time=52.3 ms

2.2、检查Docker服务状态

       运行systemctl status docker(Linux系统)查看Docker服务是否正在运行。

root@ubuntu-database:/opt/dify/docker# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-11-27 12:04:05 UTC; 55min ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 4766 (dockerd)
      Tasks: 10
     Memory: 21.8M (peak: 24.5M)
        CPU: 479ms
     CGroup: /system.slice/docker.service

如以上都没有问题,下面考虑docker换源

2.3、换源

=sudo mkdir -p /etc/docker
vim /etc/docker/daemon.json  

首先进入/etc/docker/daemon.json文件

然后在里面加入下面的配置

{

 "registry-mirrors" : ["https://docker.registry.cyou",

"https://docker-cf.registry.cyou",

"https://dockercf.jsdelivr.fyi",

"https://docker.jsdelivr.fyi",

"https://dockertest.jsdelivr.fyi",

"https://mirror.aliyuncs.com",

"https://dockerproxy.com",

"https://mirror.baidubce.com",

"https://docker.m.daocloud.io",

"https://docker.nju.edu.cn",

"https://docker.mirrors.sjtug.sjtu.edu.cn",

"https://docker.mirrors.ustc.edu.cn",

"https://mirror.iscas.ac.cn",

"https://docker.rainbond.cc",

"https://do.nark.eu.org",

"https://dc.j8.work",

"https://dockerproxy.com",

"https://gst6rzl9.mirror.aliyuncs.com",

"https://registry.docker-cn.com",

"http://hub-mirror.c.163.com",

"http://mirrors.ustc.edu.cn/",

"https://mirrors.tuna.tsinghua.edu.cn/",

"http://mirrors.sohu.com/"  

],

"insecure-registries" : [

   "registry.docker-cn.com",

   "docker.mirrors.ustc.edu.cn"

   ],

"debug": true,

"experimental": false

}


重载生效

sudo systemctl daemon-reload

重启服务

sudo systemctl restart docker

查看是否配置成功

docker info

root@ubuntu-database:/etc/docker# docker info

Client: Docker Engine - Community

Version:    27.3.1

Context:    default

Debug Mode: false

Plugins:

 buildx: Docker Buildx (Docker Inc.)

   Version:  v0.17.1

   Path:     /usr/libexec/docker/cli-plugins/docker-buildx

 compose: Docker Compose (Docker Inc.)

   Version:  v2.29.7

   Path:     /usr/libexec/docker/cli-plugins/docker-compose

 

Server:

Containers: 0

 Running: 0

 Paused: 0

 Stopped: 0

Images: 0

Server Version: 27.3.1

Storage Driver: overlay2

 Backing Filesystem: extfs

 Supports d_type: true

 Using metacopy: false

 Native Overlay Diff: true

 userxattr: false

Logging Driver: json-file

Cgroup Driver: systemd

Cgroup Version: 2

Plugins:

 Volume: local

 Network: bridge host ipvlan macvlan null overlay

 Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog

Swarm: inactive

Runtimes: io.containerd.runc.v2 runc

Default Runtime: runc

Init Binary: docker-init

containerd version: 57f17b0a6295a39009d861b89e3b3b87b005ca27

runc version: v1.1.14-0-g2c9f560

init version: de40ad0

Security Options:

 apparmor

 seccomp

  Profile: builtin

 cgroupns

Kernel Version: 6.8.0-49-generic

Operating System: Ubuntu 24.04 LTS

OSType: linux

Architecture: x86_64

CPUs: 4

Total Memory: 7.709GiB

Name: ubuntu-database

ID: acb5a888-7140-4e43-8924-6fc325481944

Docker Root Dir: /var/lib/docker

Debug Mode: true

 File Descriptors: 23

 Goroutines: 40

 System Time: 2024-11-27T13:09:10.861401847Z

 EventsListeners: 0

Experimental: false

Insecure Registries:

 docker.mirrors.ustc.edu.cn

 registry.docker-cn.com

 127.0.0.0/8

Registry Mirrors:

 https://docker.registry.cyou/

 https://docker-cf.registry.cyou/

 https://dockercf.jsdelivr.fyi/

 https://docker.jsdelivr.fyi/

 https://dockertest.jsdelivr.fyi/

 https://mirror.aliyuncs.com/

 https://dockerproxy.com/

 https://mirror.baidubce.com/

 https://docker.m.daocloud.io/

 https://docker.nju.edu.cn/

 https://docker.mirrors.sjtug.sjtu.edu.cn/

 https://docker.mirrors.ustc.edu.cn/

 https://mirror.iscas.ac.cn/

 https://docker.rainbond.cc/

 https://do.nark.eu.org/

 https://dc.j8.work/

 https://gst6rzl9.mirror.aliyuncs.com/

 https://registry.docker-cn.com/

 http://hub-mirror.c.163.com/

 http://mirrors.ustc.edu.cn/

 https://mirrors.tuna.tsinghua.edu.cn/

 http://mirrors.sohu.com/

Live Restore Enabled: false

 

WARNING: bridge-nf-call-iptables is disabled

WARNING: bridge-nf-call-ip6tables is disabled


image.png

重新执行 :docker compose up -d

出现以下情况,说明问题已解决,如下图:

image.png




目录
相关文章
|
2月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
407 0
|
9月前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
4402 69
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
8月前
|
关系型数据库 MySQL Docker
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
|
11月前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
13435 1
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
33976 5