开启Docker使用http代理

博客介绍了在Linux环境下的操作,一是HTTP代理安装,包括下载配置文件、安装依赖、下载客户端、启动客户端连接服务器等步骤;二是配置Docker代理,涵盖为Docker服务创建插入目录、创建代理环境变量文件、刷新更改重启Docker及验证配置等内容。

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

一、http代理安装(根据自己代理提供商选择安装,已有代理忽略)

1.1 下载配置文件

请您前往用户后台,下载Clash格式的配置文件。在登录后,点击网页右上角的人像图标 → 设置 → API设置 → 订阅链接 (Clash格式)。复制链接后,请新开启一个浏览器窗口,打开之前复制的链接地址,下载并保存配置文件。文件保存至目录~/.config/clash下,文件名为config.yaml

1.2 依赖安装

sudo apt install curl wget jq

1.3 下载客户端

  • 处理器架构查看
arch
  • amd64处理器
rm -f clash* && curl -LO $(curl -ksL "https://api.github.com/repos/Dreamacro/clash/releases/latest" | jq -c '.assets[] | select( .name | contains("clash-linux-amd64"))' | jq -r ".browser_download_url") && gzip -d clash* && mv clash* clash && chmod +x clash && sudo mv clash /usr/local/bin
  • arm64处理器
rm -f clash* && curl -LO $(curl -ksL "https://api.github.com/repos/Dreamacro/clash/releases/latest" | jq -c '.assets[] | select( .name | contains("clash-linux-armv8"))' | jq -r ".browser_download_url") && gzip -d clash* && mv clash* clash && chmod +x clash && sudo mv clash /usr/local/bin

1.4 启动客户端并连接到服务器

clash

在首次启动时,将会下载IP地域库文件。该过程可能需要5-10分钟。如下图所示:
在这里插入图片描述
下载成功后目录~/.config/clash下会有Country.mmdb地域库文件

1.5下载成功后,客户端会启动本地监听,如下图所示:

在这里插入图片描述

二、配置docker代理

2.1 为docker服务创建一个systemd插入目录

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

2.2 创建docker代理环境变量的文件

请参考:https://docs.docker.com/config/daemon/systemd/

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

文件内容

[Service]
Environment="HTTP_PROXY=http://192.168.10.47:1080"
Environment="HTTPS_PROXY=https://192.168.10.47:1080"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"

2.2 刷新更改并重新启动Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

2.3 验证配置已加载并匹配您所做的更改

sudo systemctl show --property=Environment docker
### 如何在 Docker 中设置和使用代理服务器 #### 使用环境变量配置全局代理 为了使 Docker 客户端能够通过代理服务器访问互联网,可以在启动容器时传递 HTTPHTTPS 代理地址作为环境变量。这适用于所有类型的容器操作,包括 `pull` 和 `run`。 对于 Linux 系统,在 `/etc/systemd/system/docker.service.d/http-proxy.conf` 文件中添加如下内容: ```ini [Service] Environment="HTTP_PROXY=http://proxy_address:proxy_port/" "HTTPS_PROXY=https://proxy_address:proxy_port/" ``` 完成编辑后保存文件并执行以下命令以应用更改[^4]: ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` #### 构建镜像过程中指定代理参数 当构建 Docker 镜像时,如果需要网络连接(例如安装软件包),则可以利用 `--build-arg` 参数向构建过程提供临时使用代理设置: ```bash docker build --build-arg http_proxy=http://proxy_address:proxy_port \ --build-arg https_proxy=http://proxy_address:proxy_port . ``` 这种方式不会影响其他未指明此选项的构建任务[^3]。 #### 对于 Windows 和 Mac 用户 (Docker Desktop) Windows 和 macOS 上运行 Docker Desktop 的用户可以直接进入应用程序界面中的 Settings -> Resources -> Proxies 页面开启自动检测系统代理或手动输入自定义代理服务器信息[^1]。 #### 运行容器时设定代理 除了上述方法外,还可以直接在创建新容器实例的时候通过 `-e` 标志传入相应的环境变量来启用代理功能: ```bash docker run -it -e HTTP_PROXY=http://proxy_address:proxy_port \ -e HTTPS_PROXY=http://proxy_address:proxy_port ubuntu bash ``` 这种方法只会影响当前正在创建的新容器实例,并不影响已存在的任何容器或其他后续新建的操作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值