Docker设置http proxy代理

需求:

由于公司服务器无法正常访问公网,想要下载一些外部依赖包需要配置公司的内部代理。

Docker构建镜像或拉取镜像时需要通过代理访问外网,可以按照以下步骤设置HTTP代理

目录

创建目录

创建并编辑配置文件

重新加载Docker服务配置

重启Docker服务

检验是否加载配置

如果配置成功则显示

测试验证


创建或编辑Docker服务配置文件
如果您使用systemd管理Docker服务,可以编辑该服务的配置文件/etc/systemd/system/docker.service.d/http-proxy.conf。
如果文件不存在,可以创建该文件。或者是docker.service文件

创建目录

sudo mkdir -p /etc/systemd/system/docker.service.d

创建并编辑配置文件

vim /etc/systemd/system/docker.service.d/http-proxy.conf

编辑该文件,添加以下内容:
[Service]
Environment="http_proxy=http://proxy.example.com:80/"
Environment="https_proxy=https://proxy.example.com:443/"
Environment="no_proxy=localhost,127.0.0.1,docker-registry.example.com"

注意:

将http://proxy.example.com:port/和https://proxy.example.com:port/替换为您的代理服务器地址和端口。

最后一行no_proxy是一个忽略代理的列表,其中localhost、127.0.0.1和docker-registry.example.com是不需要代理的地址。您可以根据实际需求修改。

重新加载Docker服务配置

执行以下命令重新加载Docker服务配置:
sudo systemctl daemon-reload

重启Docker服务

执行以下命令重启Docker服务使配置生效:
sudo systemctl restart docker

检验是否加载配置

systemctl show --property=Environment docker

如果配置成功则显示

Environment=HTTP_PROXY=http://proxy.example.com:80/

此时Docker将在启动时自动读取代理配置,并在构建镜像或拉取镜像时使用代理。

需要注意的是,如果您的代理服务器需要用户名和密码验证,需要将代理地址和端口改为以下格式:

http://username:[email protected]:80/
https://username:[email protected]:443/
并将用户名、密码替换为您的代理服务器验证信息。

测试验证

docker search redis

若能通过代理连上外网

Docker官网详细说明点击跳转

猜你喜欢

转载自blog.csdn.net/weixin_45894220/article/details/130085121