首页 > 其他分享 >docker无法拉取(pull)镜像Error response from daemon

docker无法拉取(pull)镜像Error response from daemon

时间:2024-08-25 23:14:38浏览次数:7  
标签:pull daemon http 配置 拉取 https 镜像 docker

docker无法拉取(pull)镜像 | 校园网 | 内网 | 代理 | Error response from daemon: Get https://registry-1.docker.io/v2

该博客的方法适用解决下列 bugs:

# Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting heade rs).

# Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp [2600:1f18:2148:bc01:20a3:9c3e:d4a7:9fb]:443: i/o timeout

# Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout
# 参考博客:https://blog.csdn.net/qq_51762470/article/details/138588514,https://cloud.tencent.com/developer/article/1644463,

  

场景:

学生用户,使用校园网只能登录认证登录,学校服务器在内网里,但希望让服务器上网:
1、登录校园网认证
2、走主机的代理。(自己的主机登录校园网认证,再让服务器走自己主机的代理)

# 简单的临时代理。 值得注意的是,要设置好代理服务器,让局域网的设备,可以通过这个代理端口上网,建议找一下教程
export http_proxy=http://你的代理服务器ip:端口
export https_proxy=http://你的代理服务器ip:端口

解决步骤:

step1: 首先排除配置国内镜像源的原因,建议先配置镜像源。 

vim /etc/docker/daemon.json #自己编辑添加镜像源
# 或者直接使用命令添加镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"experimental": false,
"debug": true,
"registry-mirrors": ["https://6kx4zyno.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果配置了镜像源还无法拉取镜像,就继续看step2。

step2:  配置docker配置文件。

如果服务器是通过代理的方式进行上网,则需要格外的配置docker代理-即修改docker的配置文件。
docker拉取镜像的时候,不走系统配置的代理环境,所以需要单独配置它的代理文件。

检查docker代理配置的俩个命令:

systemctl show --property=Environment docker #查看代理配置
# 或者
docker info #查看配置选项

若显示Environment为空,则进行配置。

# 1. 创建或者覆盖掉原来的docker默认配置

sudo mkdir -p /etc/systemd/system/docker.service.d #创建
vim /etc/systemd/system/docker.service.d/http-proxy.conf #创建或者修改这个文件

 

# 2. 配置自己的代理环境

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"
#自己建了私有的镜像仓库,需要 dockerd 绕过代理服务器直连,那么配置 NO_PROXY 变量:
Environment="NO_PROXY=your-registry.com,10.10.10.10,*.example.com"

 

#因为我里用clash 开的代理,htpps是默认的7890,http是7890,所以我的配置如下:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"

# 需要注意一点,https的代理端口不一定要和http一样,除非你确保https也走那个端口,不然走http端口协议有时候是不能处理https数据的,这也是导致配置完不能拉取镜像的原因之一

# 3. 加载配置重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker
docker info #查看有没有配置成功

 

标签:pull,daemon,http,配置,拉取,https,镜像,docker
From: https://www.cnblogs.com/JaneLin0409/p/18379753

相关文章

  • apt update 报错:Could not handshake: Error in the pull function. [IP: 185.199.108
    sudoaptupdate报错:错误:12https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64ReleaseCouldnothandshake:Errorinthepullfunction.[IP:185.199.108.153443]错误:13https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64Re......
  • 使用代理拉取docker镜像
    一、添加环境变量vim~/.bashrc#添加这两行exporthttp_proxy="http://proxy.example.com:port"exporthttps_proxy="http://proxy.example.com:port"#注意修改为你的代理配置,一般https_proxy的配置需要写成http://......,否则可能报错source~/.bashrc二、在docker中配置......
  • Gitlab拉取代码报503错误解决方法
    参考https://blog.csdn.net/fangxiananvhai/article/details/102659875故障现象克隆代码时报503错误'gitclone'hasbeenupdatedinupstreamGittohavecomparablespeedsto'gitlfsclone'.Cloninginto'psy_model_v3'...fatal:unabletoa......
  • Ubuntu使用代理服务器拉取镜像
    服务器:Ubuntu22.040.安装dockerbash<(curl-sSLhttps://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)配置加速地址参考Docker-hub:......
  • docker配置文件daemon.json
    docker配置文件daemon.json1.配置文件的作用  1)可以配置下载的镜像源,即镜像加速器:常见的有配置阿里云镜像源,因为docker的官方镜像源下载镜像很慢  2)可以配置连接到不安全的私有仓库2.配置文件存放的路径  /etc/docker3.配置下载的镜像源地址和允许连接到不安全的私......
  • docker 配置daemon.json镜像源地址
    docker镜像拉取失败网络异常?errorpullingimageconfiguration:downloadfailedafterattempts=6:dialtcp108.160.172.208:443:connect:connectionrefused原因:docker镜像源访问失败,或网络严重延迟,或没有设置镜像源文件daemon.jsondocker配置国内镜像源前言1、docke......
  • 解决 Docker CE 在无根模式(rootless)下无法通过 IPv6 拉取映像的问题
    折腾一天快把我逼疯了本来Docker对IPv6的支持就不好,再来个rootless,雪上加霜首先,我们要区分DockerEngine和里面的Image。拉取映像是DockerEngine在工作,也就是那个Daemon本身,而不是某个container或image。RootlessDocker使用RootlessKit来管理用户命名......
  • git拉取后,代码不见了,没有冲突覆盖,且,没有删除,看我是怎么找回的
    git拉取后,代码不见了,没有冲突覆盖,且,没有删除重点提醒当你的代码丢失时,不要惊慌,首先尝试使用本地的历史记录和远程仓库来找回代码。如果这些方法不起作用,你可以考虑其他的救援工具或寻求帮助。在日常开发中,及时进行备份和提交代码可以避免代码丢失的风险。当你在使用Git......
  • 问题--Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the
     上班后发现服务不在线,docker也无法启动,检查daemon.json配置文件出问题了 。 检查:#查看docker内全部进程dockerps提示错误:CannotconnecttotheDockerdaemonatunix:///var/run/docker.sock.TSthedockerdaemonrunning? #查看docker状态systemctls......
  • 在K8S中,镜像的拉取策略有哪些?
    在Kubernetes中,镜像拉取策略(ImagePullPolicy)定义了何时从容器镜像仓库拉取或更新容器镜像。这些策略对于管理容器化应用的部署和更新非常重要。Kubernetes提供了以下几种镜像拉取策略:Always:无论本地是否存在该镜像,总是尝试从远程仓库拉取最新的镜像。这可以确保使用的是最......