Docker拉取官方镜像源

关于Docker拉取官方镜像源

继去年Docker Hub被不知名原因封锁后,导致各大NAS(网络附属存储)的镜像库或注册表都无法使用,不能直接呈现列表。只能使用国内其他的镜像源下载镜像,虽说也可以下载,但是国内大部分镜像源的镜像版本都很低,一些小的镜像源甚至都找不到。一部分博主的解决方法是使用第三方克隆自docker hub的镜像库,或者使用加速服务等。这些方法普遍有一个问题就是:不稳定,某些小项目镜像更新不及时或者还是根本找不到。那么我这里提供一个解决方案:使用代理直接拉取Docker Hub的镜像。

代理选择

首先这里我使用小猫的windos程序作为代理服务器 你也可以使用其他的 只需要有代理地址即可

在设置中打开局域网链接开关

这样同一局域网内的设备可以通过设置代理地址为:本主机ip地址+端口

我这里电脑的IP为:192.168.0.104

小猫代理端口为:7890

Docker设置代理

/etc/systemd/system/docker.service.d/ 目录下创建代理配置文件(如果没有这个目录,可以先创建)

linux 复制代码
sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

添加如下内容:

linux 复制代码
[Service]
Environment="HTTP_PROXY=http://192.168.0.104:7890"
Environment="HTTPS_PROXY=http://192.168.0.104:7890"
Environment="NO_PROXY=localhost,127.0.0.1"

保存后,重新加载 systemd 配置并重启 Docker 服务:

linux 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

重启后即可正常拉取镜像

这时在小猫的连接列表可以看到是从官方镜像源仓库拉取的镜像

关于Docker设置代理踩的坑

一开始一直编辑/etc/docker/daemon.json 添加如下代理:

linux 复制代码
{  
 "proxies": {  
 "http-proxy": "http://:",  
 "https-proxy": "http://:",  
 "no-proxy": "localhost,127.0.0.1"  
 }  
}

这个配置是修改容器内环境变量的,和docker pull无关 所以不要再编辑这个配置文件了

相关推荐
蝎子莱莱爱打怪5 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p1 天前
docker学习7:docker 容器的通信方式
docker
小p1 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p1 天前
docker学习3:docker是怎么实现的?
docker
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p3 天前
docker学习: 1. docker基本使用
docker
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter4 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker