Docker 配置代理

在大多数情况下,Docker 不会自动使用系统代理设置。你需要明确地为 Docker 配置代理。如果只设置了系统代理而没有在 Docker 中设置代理,Docker 可能无法通过代理访问网络资源。这是因为 Docker 容器和守护进程运行在一个隔离的环境中,默认情况下不会继承主机系统的代理设置。

PS:
守护进程(Daemon)是一种在后台运行的服务,通常不与用户直接交互。
Docker 守护进程 dockerd 负责管理 Docker 容器的生命周期,包括创建、运行、停止和删除容器。它还处理容器镜像的拉取和存储。(例如docker pull)。

如何确认 Docker 是否使用代理

你可以通过以下步骤来确认和配置 Docker 使用代理:

1. 检查系统代理设置

首先,确认你在系统中正确配置了代理。例如,在 Linux 上,你可以在 ~/.bashrc~/.bash_profile 中设置代理:

export HTTP_PROXY=127.0.0.1:8080
export HTTPS_PROXY=127.0.0.1:8080
export NO_PROXY=localhost,127.0.0.1

2. 配置 Docker 使用代理

创建或编辑 Docker 配置文件

在 Docker 主机上,编辑或创建 /etc/systemd/system/docker.service.d/http-proxy.conf 文件。

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

在文件中添加代理配置:

[Service]
Environment="HTTP_PROXY=127.0.0.1:8080"
Environment="HTTPS_PROXY=127.0.0.1:8080"
Environment="NO_PROXY=localhost,127.0.0.1"
重新加载系统守护进程并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

3. 验证 Docker 代理配置

检查 Docker 信息

你可以运行以下命令来确认 Docker 是否使用了代理设置:

docker info | grep -i proxy
测试拉取镜像

尝试从 Docker Hub 或其他注册表中拉取镜像,确保代理配置工作正常:

docker pull busybox

4. 配置 Docker Compose 使用代理

如果使用 Docker Compose,还需要确保 Docker Compose 使用代理。可以在 Docker Compose 文件中添加环境变量,或者在运行 Docker Compose 命令时指定代理:

version: '3'
services:
  web:
    image: nginx
    environment:
      - HTTP_PROXY=http://proxy.example.com:8080
      - HTTPS_PROXY=https://proxy.example.com:8080
      - NO_PROXY=localhost,127.0.0.1

或者在命令行中运行 Docker Compose:

HTTP_PROXY=http://proxy.example.com:8080 HTTPS_PROXY=https://proxy.example.com:8080 NO_PROXY=localhost,127.0.0.1 docker-compose up

总结

虽然系统代理设置可以影响一些系统级别的工具和应用,但 Docker 运行在一个隔离的环境中,默认情况下不会继承系统的代理设置。因此,需要显式地为 Docker 配置代理。通过上述步骤配置和验证 Docker 的代理设置,可以确保 Docker 正确通过代理访问网络资源。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值