代码示例:
配置 Docker 代理的详细步骤如下:
-
创建 systemd 配置文件:
创建 Docker 服务的 systemd 配置目录:sudo mkdir -p /etc/systemd/system/docker.service.d
创建代理配置文件
/etc/systemd/system/docker.service.d/http-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"
其中
proxy.example.com:8080
需要替换为你的实际代理服务器地址和端口。.example.com
应该替换为你不希望通过代理访问的内部域名。 -
重新加载 systemd 配置:
重新加载 systemd 配置以应用更改:sudo systemctl daemon-reload
-
重启 Docker 服务:
重启 Docker 服务以使配置生效:sudo systemctl restart docker
-
验证代理配置:
使用以下命令检查 Docker 服务是否已经正确加载了代理配置:sudo systemctl show --property=Environment docker
从
docker info
的结果中查看配置项,确认代理配置是否生效:docker info | grep Proxy
-
配置 Docker 客户端代理:
如果你还需要配置 Docker 客户端代理,可以修改~/.docker/config.json
文件,添加以下内容:{ "proxies": { "default": { "httpProxy": "http://proxy.example.com:8080", "httpsProxy": "http://proxy.example.com:8080", "noProxy": "localhost,127.0.0.1,.example.com" } } }
这将使得所有通过 Docker 客户端发起的请求都会使用指定的代理服务器。
-
配置特定容器的代理:
在运行容器时,可以通过设置环境变量来为特定容器配置代理:docker run -e HTTP_PROXY="http://proxy.example.com:8080" -e HTTPS_PROXY="http://proxy.example.com:8080" -e NO_PROXY="localhost,127.0.0.1,.example.com" your-image
-
测试代理配置:
使用docker pull
命令测试代理配置是否生效:docker pull your-image
确保在配置过程中替换为你实际的代理服务器地址和端口,以及你不希望通过代理访问的内部域名。如果你的代理服务器需要认证,也需要在配置中添加用户名和密码。
喜欢本文,请点赞、收藏和关注!