為 Docker 配置代理,有 兩個層面 的操作:(1) Docker 守護進程(用于拉取鏡像等操作),(2) Docker 容器內部(容器內應用的網絡流量)。
我們這篇文章著重于前者,以下是詳細步驟:
1. Docker 守護進程的代理配置
如果 Docker 需要通過代理訪問外網(例如拉取鏡像),需修改 Docker 服務配置:
步驟 1:創建代理配置文件
mkdir -p /etc/systemd/system/docker.service.d
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:1081"
Environment="HTTPS_PROXY=http://127.0.0.1:1081"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
EOF
- 將
127.0.0.1:1081
替換為你的代理地址(如 SOCKS5 代理需用socks5://127.0.0.1:1081
)。 NO_PROXY
表示繞過代理的地址(按需填寫)。
步驟 2:重啟 Docker 服務
systemctl daemon-reload
systemctl restart docker
驗證守護進程代理是否生效
systemctl show docker --property Environment
輸出應包含你設置的代理變量。