• docker


    背景

    将docker的服务器环境切换到新的网络之后,由于服务器的internet是受限制的(需要连接配置远程代理,不能直接上网)。因此,在使用docker连接docker hub 的时候,就会出错:

    错误细节如下:

    [root@CNCGTCFS76 system]# docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: xxx
    Password: xxx
    Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: dial tcp :443: getsockopt: connection refused

    在网上搜索过一番之后,发现: 如果在docker 宿主机上设置了代理(HTTP、HTTPS)之后,在docker daemon 启动的时候,也要相应的告知 daemon,使用代理来访问internet!!

    解决方案

    如上,就是在docker daemon 启动的时候告知她,我们要是有HTTP或者HTTPS代理!!

    尽管docker daemon 的配置可以两种方式来实现:

    一.  通过daemon.json 文件来修改

    二.  通过覆盖docker.service file来实现

    但是对于代理的配置,目前为止(docker 17.06)我们只能使用第二个方案。 具体的步骤如下。。。

    1. 创建 docker.service.d 目录

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

    2. 创建HTTP 或者HTTPS 代理文件

    HTTP:

    vim /etc/systemd/system/docker.service.d/http-proxy.conf

    HTTPS:

    vim /etc/systemd/system/docker.service.d/https-proxy.conf

    由于我这里用的是 “HTTPS”,所以只给大家演示HTTPS代理的配置,对于HTTP代理的修改,非常相似,大家可以参考我最后贴出来的连接。

    3. 修改 https-proxy.conf 文件

    [Service]
    Environment="HTTPS_PROXY=xxx.xxx.xxx.xxx:443" "NO_PROXY=localhost,127.0.0.1,xxx.xxxxxx:5000"

    解析:

    主要是两点内容:

    ①  HTTPS_PROXY 将它的值对应到您所希望设置的代理服务地址和端口(例如: HTTPS_PROXY=https://proxy.example.com:443),我这里为了保护隐私,就用xxx代替.

    ②  NO_PROXY 意味着某些情况下我们不需要使用HTTPS代理来访问,一般这就配置私有仓库的路径(例如:NO_PROXY=localhost,127.0.0.1,mydocker-registry.com:5000

    4. 完成修改后保存/刷新

    ###Flush changes:
    #systemctl daemon-reload
    
    ###Restart Docker:
    #systemctl restart docker

    5. 查看修改结果

    #systemctl show --property=Environment docker
    
    Environment=HTTPS_PROXY=xxx.xxx.xxx.xxx:443 NO_PROXY=localhost,127.0.0.1,mydocker-registry.com:5000

    6. 重新登陆 docker hub

    docker login -u xxx -p xxx
    Login Succeeded

    我们可以看到,docker hub 已经可以访问喽!!

    感谢大家的收看,欢迎大家留言交流与顶贴 :)

    参考文献

    https://docs.docker.com/engine/admin/systemd/

  • 相关阅读:
    python
    shader example
    shader 关键字
    Android Studio如何导出可供Unity使用的aar插件详解 转
    adb
    知识
    Unity实现模拟按键
    小知识
    图种制作命令
    八卦
  • 原文地址:https://www.cnblogs.com/atuotuo/p/7298673.html
Copyright © 2020-2023  润新知