docker配置代理

背景

因为Docker 官方源很早之前就被官方封禁了,国内拉取 Docker 镜像必须依赖国内镜像源:比如网易、中科大、阿里等。
但是最近大家应该都遇到了无法拉取 Docker 镜像的问题,即使换了国内源也会拉取失败。就我目前的测试来看:国内的 Docker 镜像源疑似集体停止服务。而且这一切发生得静悄悄,没有任何相关公告。 虽然可以通过部分镜像源拉取历史版本(阿里 2022之前的版本镜像),为了从根本解决问题。
本文,将为docker配置上代理(梯子),解决docker镜像拉取问题,获取最新镜像文件。

实施步骤

1 docker 版本查询

docker 实验版本为 20.10.7

[root@jeecg-boot-system ~]# docker version
Client:
 Version:           20.10.7
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        f0df350
 Built:             Wed Jun  2 11:51:04 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:55:29 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0 

2 准备代理IP

可以某宝购买,也可以是自己的梯子

-- 例子
export https_proxy=http://XXX:7892 http_proxy=http://XXX:7892 all_proxy=socks5://XXX:7890 

这里介绍 从 clash 中分享出来的代理,开启来自局域网的连接

image

代理端口设置

3 为docker 配置代理

3.1 修改文件vim /etc/docker/daemon.json ,配置内容为下文,没有则新建

删除之前配置的国内镜像源,配置docker 官方镜像链接。这里直接粘贴进去即可。

{
 "registry-mirrors": [
    "https://hub.docker.com/"]
} 
3.2 修改文件 vim /etc/systemd/system/docker.service.d/proxy.conf

按照模版修改代理(梯子的)IP 端口信息

[Service]
Environment="HTTP_PROXY=http://XXX:7897"
Environment="HTTPS_PROXY=http://XXX:7897" 

4 加载配置、重启docker

# 加载配置
systemctl daemon-reload
# 重启docker
systemctl restart docker
# 查看代理配置是否生效
systemctl show --property=Environment docker
##---打印内容---
Environment=HTTP_PROXY=http://XXX:7897 HTTPS_PROXY=http://XXX:7897 

5 效果测试

未配置代理截图

image

国内镜像封杀,拉取失败

配置代理(梯子)截图
image

配置代理,光速拉取

posted @ 2025-02-12 14:43  枫叶流华  阅读(1951)  评论(0)    收藏  举报