> 技术文档 > 【Docker】ERROR: Get “https://registry-1.docker.io/v2/“: context deadline exceeded_docker context deadline exceeded

【Docker】ERROR: Get “https://registry-1.docker.io/v2/“: context deadline exceeded_docker context deadline exceeded


【Docker】ERROR: Get “https://registry-1.docker.io/v2/”: context deadline exceeded

问题描述

在执行以下命令时遇到错误:

 sudo docker-compose up -d db redis

错误信息如下:

【Docker】ERROR: Get “https://registry-1.docker.io/v2/“: context deadline exceeded_docker context deadline exceeded

ERROR: Get \"https://registry-1.docker.io/v2/\": context deadline exceeded

原因分析

错误:获取 “https://registry-1.docker.io/v2/” 时出错:net/http:在等待连接时请求被取消(等待标头时客户端超时)。

Docker在尝试从默认的Docker镜像仓库(registry-1.docker.io)下载镜像时,由于网络问题导致超时。

解决方案

  1. 创建 Docker 配置目录

    sudo mkdir -p /etc/docker
  2. 修改Docker的配置文件/etc/docker/daemon.json

    sudo vim /etc/docker/daemon.json
  3. 在打开的配置文件中,添加registry-mirrors字段,更改Docker的默认镜像仓库:

    { \"registry-mirrors\": [ \"http://hub-mirror.c.163.com\", \"https://mirrors.tuna.tsinghua.edu.cn\", \"http://mirrors.sohu.com\", \"https://ustc-edu-cn.mirror.aliyuncs.com\", \"https://ccr.ccs.tencentyun.com\", \"https://docker.m.daocloud.io\", \"https://docker.awsl9527.cn\" ]}
  4. 重新加载 Docker 配置

    sudo systemctl daemon-reload
  5. 重启 Docker 服务

    sudo systemctl restart docker