【备忘录】配置 Docker 守护程序以使用代理服务器

配置/etc/docker/daemon.json

Docker 守护程序在其启动环境中使用以下环境变量来配置 HTTP 或 HTTPS 代理行为:

  • HTTP_PROXY
  • http_proxy
  • HTTPS_PROXY
  • https_proxy
  • NO_PROXY
  • no_proxy

在 Docker Engine 23.0 及更高版本中,您还可以在/etc/docker/daemon.json(默认地址)文件中为守护进程配置代理行为:

{
  "proxies": {
    "http-proxy": "127.0.0.1:7897",
    "https-proxy": "127.0.0.1:7897",
    "no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
  }
}

警告:
1 、27.0.0.1:7897 为自己的代理地址
2、官方文档中配置为:
“http-proxy”: “http://proxy.example.com:3128”,
“https-proxy”: “https://proxy.example.com:3129”,
这里是有问题的,务必删除 http:// 或https://


配置在systemd文件中

如果您使用 HTTP 或 HTTPS 代理服务器(例如在公司设置中),则必须在 systemd 服务文件中指定守护进程代理配置,而不是在文件中daemon.json或使用环境变量。

  1. 为该服务创建一个 systemd 插入目录docker:
$ sudo mkdir -p /etc/systemd/system/docker.service.d
  1. 创建一个名为的文件/etc/systemd/system/docker.service.d/http-proxy.conf 并添加HTTP_PROXY环境变量:
[Service]
Environment="HTTP_PROXY=proxy.example.com:3128"

如果您使用 HTTPS 代理服务器,请设置HTTPS_PROXY环境变量:

[Service]
Environment="HTTPS_PROXY=proxy.example.com:3129"

可以设置多个环境变量;设置非 HTTPS 和 HTTPs 代理;

[Service]
Environment="HTTP_PROXY=proxy.example.com:3128"
Environment="HTTPS_PROXY=proxy.example.com:3129"

注意
代理值中的特殊字符(例如#?!()[]{})必须使用 进行双重转义%%。例如:
[Service]
Environment=“HTTP_PROXY=domain%%5Cuser:complex%%23pass@proxy.example.com:3128/”

  1. 如果您有需要在没有代理的情况下连接的内部 Docker Register,则可以通过NO_PROXY环境变量指定它们。

例如:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:3128"
Environment="HTTPS_PROXY=https://proxy.example.com:3129"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
  1. 刷新更改并重新启动 Docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  1. 验证配置是否已加载并与您所做的更改相匹配,例如:
$ sudo systemctl show --property=Environment docker

Environment=HTTP_PROXY=http://proxy.example.com:3128 HTTPS_PROXY=https://proxy.ex

【Qinghub Studio 】更适合开发人员的低代码开源开发平台
QingHub企业级应用统一部署
QingHub企业级应用开发管理
QingHub演示
https://qingplus.cn

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker守护进程是Docker引擎的核心组件之一,它负责管理和监控Docker容器的创建、运行和销毁。守护进程在后台运行,并通过与Docker客户端进行通信来接收和处理命令。 守护进程的主要功能包括: 1. 监听Docker API请求:守护进程通过监听Docker API的请求来接收来自Docker客户端的命令,例如创建、启动、停止和删除容器等操作。 2. 管理容器生命周期:守护进程负责创建、启动、停止和销毁容器。它会根据用户的命令和配置信息,使用底层的容器运行时(如runc)来创建和管理容器的进程。 3. 管理镜像:守护进程会下载、存储和管理Docker镜像。它会根据用户的命令从Docker仓库中拉取镜像,并在需要时构建和推送镜像。 4. 管理网络:守护进程负责创建和管理Docker网络,以便容器之间可以进行通信。它会为每个容器分配一个唯一的IP地址,并提供网络隔离和端口映射等功能。 5. 处理日志:守护进程会收集和处理容器的日志信息。它可以将容器的标准输出和标准错误输出重定向到文件或日志驱动程序,以便用户可以方便地查看和分析容器的日志。 守护进程的配置和日志可以通过修改Docker配置文件来进行调整。配置文件通常位于/etc/docker/daemon.json(Linux)或C:\ProgramData\docker\config\daemon.json(Windows)中。你可以在配置文件中设置各种参数,如监听地址、存储驱动、日志驱动、网络配置等。 关于Docker守护进程的更多详细信息,你可以参考以下引用: - 引用提供了关于Docker守护进程的基本介绍和工作原理。 - 引用详细解释了如何配置Docker守护进程以及如何查看和管理守护进程的日志。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值