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无关 所以不要再编辑这个配置文件了

相关推荐
杨浦老苏1 小时前
自托管网页EPUB阅读器Codexa
docker·群晖·电子书·calibre·opds
杨浦老苏1 小时前
开源文件协作平台OpenCloud
docker·文件管理·群晖·协作
weixin_377634844 小时前
【MinerU】 Docker Compose 使用
docker·容器·mineru
庚昀◟5 小时前
腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)
python·ci/cd·docker·flask·jenkins
SNOWPIAOP6 小时前
DOCKER的一些有用命令
docker
叶 落6 小时前
Ubuntu 通过 Docker 安装 Mysql8
linux·ubuntu·docker
赵文宇(温玉)6 小时前
Docker Compose 安装 Etcd
docker·容器·etcd
likeGhee6 小时前
docker创建nginx+keepalived+nacos集群(仅测试环境)
nginx·docker
ErizJ6 小时前
Docker | 学习笔记
笔记·学习·docker
绘梨衣54716 小时前
Docker+FastAPI+MySQL 项目部署报错汇总
mysql·docker·fastapi