网站首页 文章专栏 实验室全代理网络环境下使用docker proxy
实验室全代理网络环境下使用docker proxy
创建于:2018-07-30 16:00:00 更新于:2024-11-23 08:23:31 羽瀚尘 922
docker docker,proxy,实验室网络


背景

实验室网络总是受限的,目前我所用的机子连接的路由并没有直接连接到网络,而是将所有的数据转发到某台主机上,这就造成了无法ping, 无法直接打开指定的tcp端口, 等等比较麻烦的网络问题。

Docker也是如此,据我观察,docker似乎在pull image时使用tcp端口,导致我虽然设置了docker的镜像,依旧出现time out的错误,无法跑通docker run hello-world示例。


docker无法连接网络

环境

  • linux版本

    Linux zhikang-desktop 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

  • docker 版本

    Docker version 17.03.2-ce, build f5ec1e2

    尝试过的解决方案

    官网上提供一种proxy方案,如下所示:

  • 新建~/.docker/config.json文件

  • 配置proxy

    {
    “proxies”:
    {
    “default”:
    {
    “httpProxy”: “http://127.0.0.1:3001”,
    “noProxy”: “*.test.example.com,.example2.com”
    }
    }
    }
    显然,我尝试后没有作用。

    work的方案

  1. 新建/etc/systemd/system/docker.service.d文件夹
  2. 创建/etc/systemd/system/docker.service.d/http-proxy.conf文件

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


    实际中的.conf文件


    实际工作图片如下:


    proxy.conf确实解决了问题