Docker Ubuntu Behind Proxy

后端 未结 7 1478
陌清茗
陌清茗 2021-01-29 19:43

Looking at docs there is no instruction on how to run it behind a proxy. https://docs.docker.com/installation/ubuntulinux/

Reading on forums, the instruction is to updat

相关标签:
7条回答
  • 2021-01-29 19:51

    You should replace 127.0.0.1 to your host IP or some public accessible IP

    0 讨论(0)
  • 2021-01-29 19:52

    systemctl will have to installed, which can be problematic. In case /etc/systemd/system/docker.service.d/http-proxy.conf or /etc/default/docker solution does not work for you, simply use the below command:

    docker build [OPTIONS] PATH --build-arg http_proxy=http://your.proxy:port --build-arg https_proxy=http://your.proxy:port --build-arg no_proxy=.internal.domain,localhost,127.0.0.1

    0 讨论(0)
  • 2021-01-29 19:56

    According to the Docs

    Add to ~/.docker/config.json proxy configuration

    {
     "proxies":
     {
       "default":
       {
         "httpProxy": "http://127.0.0.1:3001",
         "noProxy": "*.test.example.com,.example2.com"
       }
     }
    }
    
    0 讨论(0)
  • 2021-01-29 20:03

    Ubuntu 14.04 LTS

    For Ubuntu 14.04 LTS who uses SysVinit, you should modify /etc/default/docker file:

    # cat /etc/default/docker
    # Docker Upstart and SysVinit configuration file
    
    #
    # THIS FILE DOES NOT APPLY TO SYSTEMD
    #
    #   Please see the documentation for "systemd drop-ins":
    #   https://docs.docker.com/engine/articles/systemd/
    #
    
    .......
    # If you need Docker to use an HTTP proxy, it can also be specified here.
    export http_proxy="http://web-proxy.corp.xxxxxx.com:8080/"
    export https_proxy="https://web-proxy.corp.xxxxxx.com:8080/"
    ......
    

    Then restart docker:

    service docker restart
    

    Ubuntu 16.04 LTS / Ubuntu 18.04 LTS

    For Ubuntu 16.04 LTS who uses Systemd, you can follow this post:

    (1) Create a systemd drop-in directory:

    mkdir /etc/systemd/system/docker.service.d
    

    (2) Add proxy in /etc/systemd/system/docker.service.d/http-proxy.conf file:

    # cat /etc/systemd/system/docker.service.d/http-proxy.conf
    [Service]
    Environment="HTTP_PROXY=https://web-proxy.corp.xxxxxx.com:8080/"
    Environment="HTTPS_PROXY=https://web-proxy.corp.xxxxxx.com:8080/"
    Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"
    

    (3) Flush changes:

    systemctl daemon-reload
    

    (4) Restart Docker:

    systemctl restart docker
    

    Official Reference

    0 讨论(0)
  • 2021-01-29 20:03

    For Ubuntu 14.04.2 LTS Linux vagrant-ubuntu-trusty-64 3.13.0-54-generic #91-Ubuntu SMP Tue May 26 19:15:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

    Edit you /etc/default/docker file

    sudo vim /etc/default/docker
    

    Add this line at the bottom:

    export http_proxy="http://PROXY_IP:PROXY_PORT"
    

    Restart the docker service

    sudo service docker restart
    
    0 讨论(0)
  • 2021-01-29 20:08

    In Ubuntu 14.04 LTS:

    An interesting issue about the HTTP_PROXY, HTTPS_PROXY is that: if your password has a special char like "$", "%", then it will not be processed correctly by the docker daemon when you execute command like: dock run xxx, you will encounter error. Then you can try to set the special char to others, good luck.

    0 讨论(0)
提交回复
热议问题