优雅的上代理

docker代理分为两种,容器代理和daemon代理。

容器代理

~/.docker/config.json 文件中,设置代理环境变量。

{
  "proxies": {
    "default": {
      "httpProxy": "http://127.0.0.1:1080",
      "httpsProxy": "http://127.0.0.1:1080",
      "noProxy": "*.local, 169.254/16"
    }
  }
}
sudo systemctl restart docker

或者你也可以通过端口让容器使用host代理。

daemon代理

Docker daemon是docker pulldocker push的实际执行者,所以不能简单的像proxychains4这样代理。

  1. /etc/systemd/system 目录下创建 docker.service.d 目录,并在该目录下创建proxy.conf 文件

  2. proxy.conf 文件中添加你的代理信息,例如:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
  1. 刷新更改并重新启动 Docker 服务。

sudo systemctl daemon-reload
sudo systemctl restart docker

这个网址支持pull代理

Last updated