侧边栏壁纸
博主头像
Backspace‘s Blog 博主等级

行动起来,活在当下

  • 累计撰写 33 篇文章
  • 累计创建 8 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

使用代理拉取docker镜像

Backspace
2025-12-07 / 0 评论 / 2 点赞 / 18 阅读 / 0 字 / 正在检测是否收录...

要在Docker中配置代理服务器来拉取镜像,主要有两种方法,适用于不同场景。以下是它们的详细步骤。

### 🔧 方法一:为 Docker 守护进程配置代理(仅拉取镜像)

此方法通过`systemd`修改Docker服务的环境变量,让守护进程通过代理拉取镜像。

1. 创建配置文件目录和文件

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

2. 写入代理配置

在文件中添加以下内容(请将 http://your-proxy-server:port 替换为你的实际代理地址和端口):

[Service]
Environment="http_proxy=http://10.0.0.4:7890"
Environment="https_proxy=http://10.0.0.4:7890"
Environment="NO_PROXY=localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"

* 关键提示

* 代理变量值通常使用`http://`协议,即使它是HTTPS代理。

* NO_PROXY 用于设置不走代理的地址,如本地、内网镜像仓库,请根据你的网络环境调整。

3. 重载配置并重启Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 验证配置

运行以下命令,在输出中查看是否包含你设置的代理信息:

sudo systemctl show --property=Environment docker

或使用

docker info | grep -i proxy

### 🔧 方法二:通过 daemon.json 配置代理(守护进程与容器)

此方法会同时影响守护进程和**未来创建的所有新容器**。

1. 编辑 Docker 配置文件

 sudo nano /etc/docker/daemon.json

重要:如果该文件已存在(例如之前配置过镜像加速),请在其中添加 proxies 部分,注意JSON格式正确。

2. 写入代理配置

将以下配置添加到 daemon.json 中(同样替换代理地址和 noProxy):

{
  "proxies": {
    "default": {
      "httpProxy": "http://10.0.0.4:7890",
      "httpsProxy": "http://10.0.0.4:7890",
      "noProxy": "localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
    }
  }
}

3. 重启Docker服务

sudo systemctl restart docker

4. 验证配置

重启后,运行一个新容器并检查其环境变量,确认代理已注入:

docker run --rm alpine env | grep -i proxy

### 💡 重要注意事项

* 协议问题:`httpsProxy` 的值通常也写成 http:// 开头,这是常见配置点。

* 本地代理:如果代理服务器地址是 localhost127.0.0.1,**容器可能无法直接访问**。此时需要改用宿主机的**外部IP地址**,或运行容器时加上 --network host 参数。

* 已运行容器:以上配置**只对新创建的容器生效**,不会影响已经运行中的容器。

* 专有网络:确保代理服务器地址和端口在你的PVE和LXC容器网络中是可达的,这有助于解决之前遇到的网络连通性问题。

### 总结与后续步骤

对于你的情况,如果**仅需要为`docker pull`命令设置代理**,选择**方法一**即可。如果需要为**Docker守护进程和所有未来新建的容器**统一设置代理,则选择**方法二**。

操作完成后,可以尝试拉取一个镜像(如 docker pull alpine)来测试代理是否生效。如果你的代理服务器需要身份验证,或你在配置过程中遇到具体错误,可以告诉我更多细节,以便进一步排查。

2
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区