• Docker从入门到精通——HTTP/HTTPS 代理


    HTTP/HTTPS 代理

      Docker 守护程序在其启动环境中使用 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY 环境变量来配置 HTTP 或 HTTPS 代理。NO_PROXY 您不能使用该 daemon.json 文件配置这些环境变量。

      此示例覆盖默认 docker.service 文件。

      如果您在 HTTP 或 HTTPS 代理服务器后面,例如在公司设置中,则需要在 Docker systemd 服务文件中添加此配置。

    Note for rootless mode

    在 rootless mode 运行 Docker 时,systemd 配置文件的位置是不同的。在 rootless 模式下运行时,Docker 作为用户模式 ​​systemd 服务启动,并使用存储在每个用户主目录中的文件~/.config/systemd/user/docker.service.d/。此外,systemctl必须在不带sudo和带--user 标志的情况下执行。如果您在无根模式下运行 Docker,请选择下面的“无根模式”选项卡。

    1、regular install

    1. 为 docker 服务创建一个 systemd 插入目录:

      sudo mkdir -p /etc/systemd/system/docker.service.d
    2. 创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf 添加HTTP_PROXY环境​​变量的文件:

      
      
      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"

      如果您在 HTTPS 代理服务器后面,请设置HTTPS_PROXY环境变量:

      
      
      [Service]
      Environment="HTTPS_PROXY=https://proxy.example.com:443"

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

      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"
      Environment="HTTPS_PROXY=https://proxy.example.com:443"
    3. 如果您有内部 Docker 注册表需要在不使用代理的情况下联系,您可以通过 NO_PROXY 环境变量指定它们。

      NO_PROXY变量指定一个字符串,其中包含应从代理中排除的主机的逗号分隔值。这些是您可以指定以排除主机的选项:

      • IP 地址前缀 (1.2.3.4)
      • 域名或特殊的 DNS 标签 (*)
      • 域名与该名称和所有子域匹配。以“.”开头的域名仅匹配子域。例如,给定域 foo.example.comexample.com
        • example.com匹配example.comfoo.example.com, 和
        • .example.com仅匹配foo.example.com
      • 单个星号 ( *) 表示不应进行代理
      • IP 地址前缀接受IP地址端口号(1.2.3.4:80)和域名 (foo.example.com:80)。

      配置示例:

      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"
      Environment="HTTPS_PROXY=https://proxy.example.com:443"
      Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp
    4. 刷新更改并重新启动 Docker

      sudo systemctl daemon-reload
      sudo systemctl restart docker
    5. 验证配置是否已加载并与您所做的更改相匹配,例如:

      sudo systemctl show --property=Environment docker
       
      Environment=HTTP_PROXY=http://proxy.example.com:80 HTTPS_PROXY=https://proxy.example.com:443 NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp

    2、rootless mode

    1. 为 docker 服务创建一个 systemd 插入目录:

      mkdir -p ~/.config/systemd/user/docker.service.d
    2. 创建一个名为~/.config/systemd/user/docker.service.d/http-proxy.conf 添加HTTP_PROXY环境​​变量的文件:

      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"

      如果您在 HTTPS 代理服务器后面,请设置HTTPS_PROXY环境变量:

      [Service]
      Environment="HTTPS_PROXY=https://proxy.example.com:443"

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

      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"
      Environment="HTTPS_PROXY=https://proxy.example.com:443"
    3. 如果您有内部 Docker 注册表需要在没有代理的情况下联系,您可以通过 NO_PROXY 环境变量指定它们。

      该 NO_PROXY 变量指定一个字符串,其中包含应从代理中排除的主机的逗号分隔值。这些是您可以指定以排除主机的选项:

      • IP 地址前缀 (1.2.3.4)
      • 域名或特殊的 DNS 标签 (*)
      • 域名与该名称和所有子域匹配。以“.”开头的域名仅匹配子域。例如,给定域 foo.example.com 和 example.com
        • example.com 匹配 example.com 和 foo.example.com, 和
        • .example.com 仅匹配 foo.example.com
      • 单个星号 ( *) 表示不应进行代理
      • IP 地址前缀接受IP地址端口号(1.2.3.4:80)和域名 (foo.example.com:80)。

      配置示例:

      [Service]
      Environment="HTTP_PROXY=http://proxy.example.com:80"
      Environment="HTTPS_PROXY=https://proxy.example.com:443"
      Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
    4. 刷新更改并重新启动 Docker

      systemctl --user daemon-reload
      systemctl --user restart docker
    5. 验证配置是否已加载并与您所做的更改相匹配,例如:

      systemctl --user show --property=Environment docker
      
      Environment=HTTP_PROXY=http://proxy.example.com:80 HTTPS_PROXY=https://proxy.example.com:443 NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp
  • 相关阅读:
    Serialize and Deserialize Binary Tree
    sliding window substring problem汇总贴
    10. Regular Expression Matching
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接
    程序员如何写一份合格的简历?(附简历模版)
    9个提高代码运行效率的小技巧你知道几个?
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构
    24张图7000字详解计算机中的高速缓存
    《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第五章 优化程序性能
  • 原文地址:https://www.cnblogs.com/zuoyang/p/16356162.html
Copyright © 2020-2023  润新知