全平台 docker 代理设置


Linux Docker 代理设置

手动操作

覆盖docker.service file来实现

1. 创建 docker.service.d 目录

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

2. 创建HTTP 或者HTTPS 代理文件

HTTP:

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

HTTPS:

sudo nano /etc/systemd/system/docker.service.d/https-proxy.conf

下面展示 http 的代理文件,https 同理(记得改代码内容)

3. 修改 http-proxy.conf 文件

[Service]
Environment="http_proxy=http://100.121.204.14:7890" "NO_PROXY=localhost,127.0.0.1"

解析:

主要是两点内容:

  • HTTP_PROXY 将它的值对应到您所希望设置的代理服务地址和端口(例如: HTTP_PROXY=https://proxy.example.com:443
  • NO_PROXY 意味着某些情况下我们不需要使用 HTTP 代理来访问(例如:NO_PROXY=localhost,127.0.0.1,mydocker-registry.com:5000

注意修改 https-proxy.conf 中 的 https_proxy

4. 完成修改后保存/刷新

#Flush changes:
sudo systemctl daemon-reload

#Restart Docker:
sudo systemctl restart docker

5. 查看修改结果

sudo systemctl show --property=Environment docker

快速脚本

# === 一键 Docker 代理设置脚本 ===
# 修改代理地址即可(HTTP 与 HTTPS 同理)
HTTP_PROXY_ADDR="http://100.64.132.34:7890"
HTTPS_PROXY_ADDR="http://100.64.132.34:7890"
NO_PROXY_LIST="localhost,127.0.0.1,::1,docker-registry.local,100.0.0.0/8"

# 1️⃣ 创建 docker.service.d 目录
sudo mkdir -p /etc/systemd/system/docker.service.d

# 2️⃣ 创建 http-proxy.conf
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=${HTTP_PROXY_ADDR}" "NO_PROXY=${NO_PROXY_LIST}"
EOF

# 3️⃣ 创建 https-proxy.conf(如不需要可注释掉)
sudo tee /etc/systemd/system/docker.service.d/https-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTPS_PROXY=${HTTPS_PROXY_ADDR}" "NO_PROXY=${NO_PROXY_LIST}"
EOF

# 4️⃣ 重新加载 systemd 并重启 docker
sudo systemctl daemon-reload
sudo systemctl restart docker

# 5️⃣ 输出验证结果
echo "✅ Docker proxy settings applied. Current Environment:"
sudo systemctl show --property=Environment docker
echo "🎉 Done!"

Windows Docker 代理设置

参考资料


如果本文帮助到了你,帮我点个广告可以咩(o′┏▽┓`o)


评论
  目录