快速设置 Docker 网络代理配置

Docker Client - 代理访问远程的 Docker Daemon

在 Client 端设置代理其实就是设置 Linux 系统的代理,从而让系统的命令行可以通过代理连接到外部的网络。一般只需要配置 HTTP_PROXY 与 HTTPS_PROXY 这两个即可。

临时生效: 在命令行中执行下面的命令,根据自己实际代理 IP 与代理端口设置(需要允许局域网连接):

bash 复制代码
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890

永久生效,在系统变量中配置。系统变量配置有多个地方,例如在 /etc/profile 文件的底部添加下面的内容:

bash 复制代码
export https_proxy=http://127.0.0.1:7890 
export http_proxy=http://127.0.0.1:7890 

让配置文件生效:

bash 复制代码
source /etc/profile 

恭喜,Docker Client 代理配置完成!

Docker Daemon - 代理拉取或推送国外镜像

有的时候我们会用到一些国外的镜像,比如搭建 k8s 时会用到 k8s.gcr.io 提供的镜像,但是无法正常 pull;或者你想将某些镜像上传到国外的镜像仓库中,都需要使用代理进行操作。

  • 注:Docker 守护程序(dockerd)是在其启动环境中使用 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY 环境变量来配置 HTTP 或 HTTPS 代理行为,需要在 Docker systemd 服务文件中添加此配置。 在 daemon.json 文件或者是在系统环境变量文件中配置它们都不会使其生效。

要实现 Daemon 代理会比较复杂一些,并且下面的操作将覆盖默认的 docker.service 文件,这样当 Docker 启动的时候就会读取到下面的代理配置信息:

在 /etc/systemd/system 目录下创建 docker.service.d 目录

bash 复制代码
sudo mkdir -p /etc/systemd/system/docker.service.d

在该目录下创建 http-proxy.conf 文件

bash 复制代码
sudo touch /etc/systemd/system/docker.service.d/http-proxy.conf

选用你最喜欢的编辑器,编辑该文件并添加下面的内容,这里使用 vi/vim 进行编辑。

bash 复制代码
vim /etc/systemd/system/docker.service.d/http-proxy.conf

根据自身需要添加下面的内容并替换为实际的配置,一般只需要添加 HTTP_PROXY 和 HTTPS_PROXY:

bash 复制代码
[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"
  • 【注】HTTP_PROXY 用于代理访问 http 请求,HTTPS_PROXY 用于代理访问 https 请求,如果想某个 IP或域名不走代理则配置到 NO_PROXY中。

添加完成后,保存即可。

刷新更改并重新启动 Docker

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

恭喜,Docker Daemon 代理配置完成!

相关推荐
EasyDSS34 分钟前
视频监控从安装到优化的技术指南,视频汇聚系统EasyCVR智能安防系统构建之道
大数据·网络·网络协议·音视频
rufeike41 分钟前
UDP协议理解
网络·网络协议·udp
秦始皇爱找茬1 小时前
docker部署Jenkins工具
docker·容器·jenkins
江理不变情2 小时前
海思ISP调试记录
网络·接口隔离原则
世界尽头与你2 小时前
【安全扫描器原理】网络扫描算法
网络·安全
GKoSon2 小时前
加入RPC shell指令 温箱长时间监控
网络·网络协议·rpc
zru_96023 小时前
Docker 部署 Redis:快速搭建高效缓存服务
redis·缓存·docker
hgdlip3 小时前
关闭IP属地显示会影响账号的正常使用吗
网络·网络协议·tcp/ip·ip属地
Zz_waiting.4 小时前
网络原理 - 7(TCP - 4)
网络·网络协议·tcp/ip
RECRUITGUY4 小时前
用交换机连接两台电脑,电脑A读取/写电脑B的数据
服务器·网络·负载均衡