docker pull 设置代理

本文详细介绍如何在CentOS环境下为Docker设置HTTP和HTTPS代理,通过修改系统配置文件,实现Docker pull命令能够顺利从gcr.io等镜像仓库拉取镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

你在终端设置代理的时候docker pull的时候是不会走代理的,下面是docker pull设置代理的正确方式

操作

环境是在centos下,如果没有新建下面这个文件夹

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

之后新建下面这个文件走http代理

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

填入

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/"

编辑下面这个文件走https代理

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

[Service]
Environment="HTTPS_PROXY=https://proxy.example.com:443/"

之后你使用docker pull的时候就可以pull gcr.io上的镜像了

详细可以看下面

https://docs.docker.com/config/daemon/systemd/

欢迎关注Bboysoul的博客www.bboysoul.com Have Fun

转载于:https://my.oschina.net/u/3778921/blog/3044282

### 配置 Docker Pull代理设置 为了使 `docker pull` 能够通过代理服务器获取镜像,在不同操作系统上可以采用多种方法来配置Docker客户端使用HTTP或HTTPS代理。 对于基于CentOS或其他Red Hat系发行版的操作系统,可以通过编辑Systemd服务文件实现持久化配置[^2]: 创建或修改 `/etc/systemd/system/docker.service.d/http-proxy.conf` 文件以包含环境变量指定代理地址。例如,当使用的代理位于 `http://proxy.example.com:3128` 时,应如下所示编写此文件的内容: ```ini [Service] Environment="HTTP_PROXY=http://proxy.example.com:3128/" "NO_PROXY=localhost,127.0.0.1" ``` 完成上述更改之后,需执行命令刷新systemd守护进程并重新启动Docker服务以便应用新的配置选项[^4]: ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` 值得注意的是,默认情况下容器内部访问网络是被隔离起来的;因此如果尝试利用主机上的localhost作为代理端口(比如 `localhost:3128`),那么除非特别指定了 `--network host` 参数运行容器,否则这些请求将无法成功到达目标位置[^1]。通常建议配置实际可路由到外部网络接口对应的IP地址,并确保所选代理已启用网关模式支持来自其他设备发起连接的需求。 另外一种临时性的解决方案是在每次调用 `docker pull` 前即时定义环境变量,这种方式适用于快速测试不同的代理效果而不必永久改变系统的默认行为[^3]: ```bash export HTTP_PROXY=http://your.proxy.server:port/ export HTTPS_PROXY=https://your.proxy.server:port/ docker pull image_name:image_tag unset HTTP_PROXY HTTPS_PROXY ``` 以上就是关于如何为 `docker pull` 操作配置代理的一些常见做法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值