释放小七猫的分享欲

喵!我是小七猫,我会把我从主人那学到的技术都教给你

我还会给你表演才艺

  • 年龄: 27
  • 称呼: 他

Tags

  • Easytier
  • IPTV
  • Latex
更多标签……
  • 最近发布 华为 VRP 软考高频命令速查表 2026-09-14 · 笔记 网络规划师下午题笔记 2026-09-11 · 笔记 OpenWRT 有线中继配置 2026-09-01 · 技术 9.26 重庆湘渝结合简约趣味婚礼仪式流程 2026-08-20 · 笔记 OpenWRT 使用 SmartDNS 优化解析速度及域名劫持 2026-08-15 · 技术
  • 所有分类 共 5 个分类 技术 117 篇 小说 23 篇 笔记 14 篇 随笔 9 篇 学术 7 篇
  • >点这儿查看全部文章

欢迎来到小七猫的博客~!

品种:银渐层-银点

爱好:睡觉、吃饭

被揍频率:2/day

我喜欢的东西:

  • 猫:4 年养猫经验
  • 编程:6 年编程经验
  • 吉他:13 年吉他演奏经验

在 AlpineLinux 和 Debian 上配置 Docker 代理

tags: NAS
@小七猫 28/10/2025

在 AlpineLinux 和 Debian 上配置 Docker 代理

docker 默认不走终端代理,因此按照传统的在终端添加 http_proxy 的方法来拉取镜像是行不通的,必须要专门配置 docker 的代理。

这里分别以使用 systemd 的 Debian,和使用 rc 的 Alpine Linux 为例,讲解一下如何设置 docker 代理,他们都是跑容器很常用的发行版。

本文主要由 AI 进行辅助创作,作者进行了整理归纳,请酌情观看。

Debian Linux

Debian 是一款用途广泛功能强大的 Linux 发行版,资源占用比 Alpine 稍大,但它资料和功能齐全,用户量很大。

docker hub 代理

操作 命令
创建配置目录 sudo mkdir -p /etc/systemd/system/docker.service.d
编辑代理配置 sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
重载配置 sudo systemctl daemon-reload
重启 Docker sudo systemctl restart docker
验证 docker info | grep -i proxy
  1. 创建 systemd 代理配置文件
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
  1. 写入代理配置(无认证)
[Service]
Environment="HTTP_PROXY=http://[proxy_ip]:7890"
Environment="HTTPS_PROXY=http://[proxy_ip]:7890"
Environment="NO_PROXY=localhost,127.0.0.1"

若代理需要用户名密码,格式为:http://user:pass@host:port

  1. 重载 …
  1. 重载 systemd 并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

Alpine Linux

Alpine Linux 常用作轻量化容器系统,由于几乎没有资源占用,非常适合跑 docker。

docker hub 代理

操作 命令
编辑配置 nano /etc/docker/daemon.json
重启服务 rc-service docker restart
验证配置 docker info | grep -i proxy
  1. 编辑 Docker 配置文件:
sudo nano /etc/docker/daemon.json
  1. 添加以下内容(无认证):
{
    "proxies": {
        "http-proxy": "http://[proxy_ip]:7890",
        "https-proxy": "http://[proxy_ip]:7890",
        "no-proxy": "localhost,127.0.0.1"
    }
}
  1. 重启 Docker 服务(Alpine 使用 OpenRC):
sudo rc-service docker restart

验证配置是否生效:

docker info | grep -i proxy

输出中应包含:

HTTP Proxy: http://[proxy_ip]:7890
HTTPS Proxy: http://[proxy_ip]:7890
No Proxy: localhost,127.0.0.1

容器运行时代理

后续部分与 docker 本身有关,与发行版无关。

  1. 临时运行容器时指定代理:
docker run -e HTTP_PROXY="http://[proxy_ip]:7890" \
           -e HTTPS_PROXY="http://[proxy_ip]:7890" \
           -e NO_PROXY="localhost,127.0.0.1" \
           your-image
  1. 持久化配置

编辑(或创建)文件 ~/.docker/config.json:

vim ~/.docker/config.json

添加以下内容:

{
    "proxies": {
        "default": {
            "httpProxy": "http://[proxy_ip]:7890",
            "httpsProxy": "http://[proxy_ip]:7890",
            "noProxy": "localhost,127.0.0.1"
        }
    }
}

构建镜像时代理

如果你需要在构建镜像时使用代理,可以这样:

docker build --build-arg HTTP_PROXY="http://[proxy_ip]:7890" \
             --build-arg HTTPS_PROXY="http://[proxy_ip]:7890" \
             -t your-image .
  • ««
  • «
  • 68
  • 69
  • 70
  • 71
  • 72
  • »
  • »»