• docker-代理服务器


    配置Docker以使用代理服务器

    如果容器需要使用HTTP,HTTPS或FTP代理服务器,则可以通过不同方式对其进行配置:

    • 在Docker 17.07及更高版本中,可以 将Docker客户端配置为自动将代理信息传递给容器。

    • 在Docker 17.06及更低版本中,必须 在容器中设置适当的环境变量可以在构建映像时(这使图像不那么便携)或创建或运行容器时执行此操作。

    配置Docker

      该方法覆盖了默认的docker.service文件。 
      1. 为docker服务创建一个内嵌的systemd目录

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

      2. 创建/etc/systemd/system/docker.service.d/http-proxy.conf文件,并添加HTTP_PROXY环境变量。其中[proxy-addr]和[proxy-port]分别改成实际情况的代理地址和端口:

    [Service]
    Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/"

      3. 如果还有内部的不需要使用代理来访问的Docker registries,那么嗨需要制定NO_PROXY环境变量:

    [Service]
    Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

      4. 更新配置:

    $ systemctl daemon-reload

      5. 重启Docker服务:

    $ systemctl restart docker

    使用环境变量

    手动设置环境变量

    在构建映像时,或--env在创建或运行容器时使用标志时,可以将以下一个或多个变量设置为适当的值。此方法使图像的可移植性降低,因此如果您使用Docker 17.07或更高版本,则应该配置Docker客户端 。

    变量Dockerfile示例docker run 例
    HTTP_PROXY ENV HTTP_PROXY "http://127.0.0.1:3001" --env HTTP_PROXY="http://127.0.0.1:3001"
    HTTPS_PROXY ENV HTTPS_PROXY "https://127.0.0.1:3001" --env HTTPS_PROXY="https://127.0.0.1:3001"
    FTP_PROXY ENV FTP_PROXY "ftp://127.0.0.1:3001" --env FTP_PROXY="ftp://127.0.0.1:3001"
    NO_PROXY ENV NO_PROXY "*.test.example.com,.example2.com" --env NO_PROXY="*.test.example.com,.example2.com"
  • 相关阅读:
    递归 例子 c
    Static和extern关键字 c
    typedef的作用
    预编译指令包括:宏定义;条件编译;文件包含(就是include)
    枚举 c
    结构体 可以由多个不同类型的数据构成
    变量类型 c
    指针类型:非常重要 c
    设计模式学习--原型模式
    设计模式学习--工厂方法模式
  • 原文地址:https://www.cnblogs.com/wwchihiro/p/9316144.html
Copyright © 2020-2023  润新知