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