Docker 配置代理临时永久设置
· 阅读需 2 分钟
命令行临时设置
在命令行中临时设置代理
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
docker pull ubuntu
docker pull 临时设置代理
为了单次 docker pull
或 docker push
命令使用特定的代理,您可以直接在命令行中设置环境变量。这样设置的环境变量只对当前命令有效,不会影响到其他会话或命令。
示例 使用临时代理拉取 Docker 镜像
HTTP_PROXY="http://127.0.0.1:7890" HTTPS_PROXY="http://127.0.0.1:7890" docker pull ubuntu
这假定您有一个在本地端口 7890
运行的代理服务器。
永久配置
systemd
创建或编辑 Docker 服务的 systemd 配置文件
打开或创建 /etc/systemd/system/docker.service.d
目录下的 http-proxy.conf
文件(如果目录不存在,则需要创建它)
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
在文件中添加 HTTP_PROXY 和 HTTPS_PROXY 环境变量 在该文件中,添加以下内容(替换 your-proxy-address
和 port
为您的代理服务器地址和端口)
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
NO_PROXY
环境变量用于列出不需要通过代理的地址或域,比如本地的 Docker registry。
重新加载 systemd 管理器配置 重新加载 systemd 以读取新的配置文件
sudo systemctl daemon-reload
重启 Docker 服务 重新启动 Docker 服务以应用代理设置
sudo systemctl restart docker
验证代理设置 检查 Docker 是否已经使用代的环境变量
systemctl show --property=Environment docker
确保没有防火墙或安全设置阻止 Docker 访问代理服务器。