最新终极解决 docker 镜像源网络问题 :docker: Get https://registry-1.docker.io/v2/

1. 2024.11.15 号更新 可用加速镜像地址

点击访问可用镜像地址

1.1 个人推荐加速地址:

#来自大佬制作的公益项目
#用在 dockerhub仓库时,用此前缀加速
https://hub.geekery.cn/
#下载github仓库时,可用此前缀加速
https://ghcr.geekery.cn/

配置加速镜像地址

cat <<-EOF > /etc/docker/daemon.json 
{
  "registry-mirrors": [
   "https://hub.geekery.cn/",
   "https://ghcr.geekery.cn"
   ]
}
EOF
systemctl daemon-reload
systemctl restart docker

2. 通过代理服务软件 (加速镜像失效可以用此方式)

参考 文章 作补充 https://blog.youkuaiyun.com/2301_79849395/article/details/142829852

2.1 演示环境

这里是用电脑 主机 作为 代理服务器,虚拟机运行docker (欧拉系统作为linux,docker 基本环境)

2.2 在 /etc/systemd/system 目录下创建 docker.service.d 目录

sudo mkdir -p /etc/systemd/system/docker.service.d

2.3 在该目录下创建 http-proxy.conf 文件

sudo touch /etc/systemd/system/docker.service.d/http-proxy.conf

2.4 选用你最喜欢的编辑器,编辑该文件并添加下面的内容,这里使用 vi/vim 进行编辑。

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

2.5 根据自身需要添加下面的内容并替换为实际的配置,一般只需要加 HTTP_PROXY 和 HTTPS_PROXY:

[Service]
Environment="HTTP_PROXY=自己的代理服务器地址"
Environment="HTTPS_PROXY=自己的代理服务器地址"
Environment="NO_PROXY=localhost,127.0.0.1,xxx.com"

【注】HTTP_PROXY 用于代理访问 http 请求,HTTPS_PROXY 用于代理访问 https 请求,如果想某个 IP或域名不走代理则配置到 NO_PROXY中。
通常只需要 修改 HTTP_PROXY 和 HTTPS_PROXY.
例如:http://proxy.example.com:8080/

这里用自己的windows 电脑 作为代理服务器举例子
通过 win+r ,在输入框汇中输入cmd,然后 命令窗口输入 ipconfig ,查看 自己的 ip,假设是 192.168.1.115
在这里插入图片描述

然后 开启 代理 服务器 软件(魔法冲浪常用的软件) 的端口 我这里是10809,也有软件默认是7890 (代理软件 一般需要开启 tun 模式才行)
最后填进去:
在这里插入图片描述
最后验证一下,成功!

docker search  nginx

在这里插入图片描述

### 解决方案 当遇到 `docker: Get https://registry-1.docker.io/v2/` 请求被取消的问题时,可以尝试以下方法来解决问题: #### 方法一:配置国内镜像加速器 为了提高下载速度并减少超时错误的发生,建议使用国内的 Docker Hub 加速器。编辑 `/etc/docker/daemon.json` 文件,添加或更新如下内容[^3]: ```json { "registry-mirrors": [ "https://hub.geekery.cn/", "https://ghcr.geekery.cn", "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" ] } ``` 保存文件后执行命令使更改生效: ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` #### 方法二:调整 Docker 客户端请求超时时间 如果仍然存在连接问题,则可能是由于默认的客户端请求超时设置过短所致。可以在启动容器时指定更长的超时时限,例如: ```bash docker run --rm -it --name my_container \ --network host \ --env HTTPS_PROXY=https://your.proxy.server:port \ image_name command_to_run ``` 注意替换其中的代理服务器地址和端口号。 另外也可以通过修改全局配置文件的方式增加超时参数,在 `/etc/systemd/system/docker.service.d/http-proxy.conf` 中加入: ```ini [Service] Environment="HTTP_PROXY=http://your.proxy.server:port/" "HTTPS_PROXY=https://your.proxy.server:port/" ``` 之后同样需要重新加载守护进程和服务: ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` #### 方法三:检查本地网络环境 确保主机能够正常访问外部互联网资源,并且防火墙规则允许必要的通信端口开放。对于企业内网用户来说,可能还需要配置合适的 Web 代理服务才能顺利拉取远程镜像。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值