为Docker Pull 配置代理
为Docker Pull 配置代理
- 配置Docker守护进程(Docker Daemon)使用代理:
你需要在 Docker 守护进程的配置文件中设置代理。配置文件的位置取决于你的操作系统。
- Linux:
编辑或创建/etc/systemd/system/docker.service.d/http-proxy.conf
文件,添加以下内容:
1 | [Service] |
如果需要忽略某些地址(例如本地地址),可以添加 NO_PROXY
环境变量:
1 | Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com" |
- Windows:
编辑或创建C:\ProgramData\Docker\config\daemon.json
文件,添加以下内容:
1 | { |
- macOS:
打开 Docker Desktop 应用,进入Preferences
->Resources
->Proxies
,然后设置 HTTP 和 HTTPS 代理。
- 重启Docker守护进程:
在配置文件更新后,你需要重启 Docker 守护进程以使更改生效。
Linux:
1
2sudo systemctl daemon-reload
sudo systemctl restart dockerWindows:
重新启动 Docker 服务。你可以通过服务管理器或者执行以下命令:1
Restart-Service docker
macOS:
配置完成后,Docker Desktop 会自动应用更改并重启。
- 验证配置:
通过 docker info
命令查看代理配置是否正确应用:
1 | docker info |
你应该能在输出中看到 HTTP Proxy
和 HTTPS Proxy
设置。
完成这些步骤后,Docker 在执行 docker pull <image>
时会通过你配置的代理服务器进行连接。
1. 配置系统级别代理
这适用于所有用户的代理设置,修改/etc/systemd/system/docker.service.d/http-proxy.conf
和https-proxy.conf
文件。
- 创建或编辑
/etc/systemd/system/docker.service.d/http-proxy.conf
文件,添加以下内容:
1 | [Service] |
- 创建或编辑
/etc/systemd/system/docker.service.d/https-proxy.conf
文件,添加以下内容:
1 | [Service] |
如果需要设置不通过代理的地址,可以添加NO_PROXY
变量,例如:
1 | Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com" |
2. 配置用户级别代理
这仅适用于当前用户的代理设置,编辑~/.docker/config.json
文件。
- 创建或编辑
~/.docker/config.json
文件,添加以下内容:
1 | { |
3. 重新启动Docker服务
配置文件修改完成后,需要重新启动Docker服务以使配置生效。
1 | sudo systemctl daemon-reload |
4. 验证代理设置
可以通过以下命令来验证代理是否配置成功:
1 | docker info |
在输出中,应该能看到代理配置项。
通过上述步骤,你可以为Docker的pull
命令配置代理,从而通过代理服务器进行镜像的拉取。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 南岩 のBlog!