惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
MyScale Blog
MyScale Blog
博客园 - Franky
The Cloudflare Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
云风的 BLOG
云风的 BLOG

Allen Hua 的网络博客

由于 Linux 桌面没有一个好用的天气程序就写了一个跨平台的CheckitoutWeather 给 caesium-image-compressor 图片压缩程序构建了 Linux AppImage v2.8.5 最新版 debian13(debian trixie)安装了nvidia闭源驱动后从x11切换到wayland的方法 山间摩旅追风,偶遇一场绚烂晚霞 最近使用debian系统的一些心得 机械革命无界14Pro笔记本debian forky成功驱动内置扬声器和麦克风 记录 typecho 1.2.0 升级到 1.3.0 过程 开发了一款openwrt插件:文本剪贴板 解决机械革命笔记本内屏高刷240Hz闪屏问题 使用 Java 写了一个局域网端口扫描器 - Allen Hua 的网络博客 openwrt使用外置根extroot机制扩展根分区大小 - Allen Hua 的网络博客 将机场ss节点批量转换成ss字符串链接批量添加到passwall - Allen Hua 的网络博客 给机械革命钛钽plus换屏:NY2换成NZ2 - Allen Hua 的网络博客 记录一次pve宿主机和上面的debian虚机无故down机事件 - Allen Hua 的网络博客 给图床部署cdn腾讯云的edgeone并排查Cache-Control max-age 3600的问题 - Allen Hua 的网络博客 从高山草甸到徽派古村:武功山反穿与皖浙赣自驾行记 - Allen Hua 的网络博客 增程器就是充电宝?别被忽悠了 - Allen Hua 的网络博客 浦口龙虎巷扫街,记录人间真实 博客图片压缩方案更新|AVIF|WebP|MozJPEG|标准JPEG Windows 电脑使用 Obs Studio 录制各个网站视频/桌面画面教程 为typecho博客添加latex支持 新能源汽车之纯电车使用交流慢充和直流快充的充电损耗对比 2025年3月更新全国5A景区名录 2025最新查看小米/红米手机电池健康度和循环次数方法 完美解决 seafile FILE_SERVER_ROOT 配置导致的内网外网不能同时访问和上传下载的问题 纯css实现typecho博客文章文字spoiler剧透效果 我对Typecho Facile主题的一些修改,图片懒加载优化,样式定制 2024年8月我的宜昌 - 重庆 - 川西小环线自驾旅行分享 2022年打卡南京市区人防工程纳凉点 2024年带着A7C2+腾龙28-200 再次来到红山森林动物园
不借助 mirror 仓库,为docker engine daemon添加 proxy 访问...
Allen Hua · 2024-06-14 · via Allen Hua 的网络博客
阅读量:3663

warning: 这篇文章距离上次修改已过711天,其中的内容可能已经有所变动。

我们都知道最近的新闻了

docker hub 国内mirror仓库不再可用.jpg

ustc 也早早的就出了一份公告。原始链接 https://mirrors.ustc.edu.cn/help/dockerhub.html

ustc docker mirror 仓库关停公告.jpg

本文不讨论利用 cloudflare workers 加速 docker 镜像站,这种个人用用还是非常不错的,算是感谢 cf 大善人,个人用用非常滴不错,如果你没有一个稳定的 local proxy 的话。

本文将要讨论的是利用 http/https proxy 连接 docker hub,既然我们都用代理访问 google/youtube 了,那么再通过代理访问 docker hub 也是顺理成章的事,只不过这次的事件加速了这样一个【历史进程】。

但是需要知道的是,使用代理连接 docker hub,不是在 linux 终端 export HTTP_PROXY='' 这样就行了的,而是需要给 docker engine 的 daemon 程序显式设置 http 代理。官方文档可参考

https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

可以看到,docker client version 23.0 或更新版本都可以直接编辑 /etc/docker/daemon.json 添加 proxies 对象即可。

{
  "proxies": {
    "http-proxy": "http://proxy.example.com:3128",
    "https-proxy": "https://proxy.example.com:3129",
    "no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
  }
}

我在本地创建的如下,如果当前文件有其他内容,需要注意 json 格式合法性

{
    "proxies": {
      "http-proxy": "http://10.10.10.242:7890",
      "https-proxy": "http://10.10.10.242:7890",
      "no-proxy": "127.0.0.0/8"
    }
}

保存后重启 docker daemon 即可正常拉取 docker hub 的镜像了。systemctl restart docker

在使用 systemd 的 linux 系统上还可以使用如下方式创建给 docker daemon 使用的代理

注意:不可以创建 /etc/systemd/system/multi-user.target.wants/docker.service.d/http-conf.proxy , 因为经过我的实测这样操作无效。尽管你的 docker.service 文件位于 /etc/systemd/system/multi-user.target.wants/docker.service

正确的路径是 /etc/systemd/system/docker.service.d/http-proxy.conf

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

# 写入 http_proxy 配置

cat > /etc/systemd/system/docker.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://10.10.10.242:7890"
Environment="HTTPS_PROXY=http://10.10.10.242:7890"
EOF

systemctl daemon-reload
systemctl restart docker

最终可以通过 docker infosystemctl show --property=Environment docker 这两个命令检查,如果有正确的代理配置输出就ok。

重启后执行 docker info 看到如下信息说明 all done

Debug Mode: false
HTTP Proxy: http://10.10.10.242:7890
HTTPS Proxy: http://10.10.10.242:7890

然后就能愉快地拉取 docker hub 上最新的镜像。