快速设置 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 代理配置完成!

相关推荐
两点王爷13 分钟前
IDEA中springboot项目中连接docker
spring boot·docker·intellij-idea
家庭云计算专家22 分钟前
还没用过智能文档编辑器吗?带有AI插件的ONLYOFFICE介绍
服务器·人工智能·docker·容器·编辑器
北冥SP28 分钟前
OkHttp连接池
网络·okhttp
是大强1 小时前
ssl 中 key 和pem 和crt是什么关系
网络·网络协议·ssl
-qOVOp-1 小时前
zst-2001 上午题-历年真题 计算机网络(16个内容)
网络·计算机网络·算法
Johny_Zhao2 小时前
VMware workstation 部署微软MDT系统
网络·人工智能·信息安全·微软·云计算·系统运维·mdt
猎板PCB厚铜专家大族2 小时前
罗杰斯高频板技术解析:低损耗基材如何定义 5G 通信未来
网络·5g
云手机管家3 小时前
CDN加速对云手机延迟的影响
运维·服务器·网络·容器·智能手机·矩阵·自动化
孤的心了不冷3 小时前
【Docker】CentOS 8.2 安装Docker教程
linux·运维·docker·容器·eureka·centos
正在走向自律3 小时前
GpuGeek 网络加速:破解 AI 开发中的 “最后一公里” 瓶颈
网络·人工智能·python·机器学习·性能优化·gpugeek