docker配置HTTP/HTTPS代理访问外网

一、 设置代理原因

    因为公司安全需要,所有外网需配置代理后才能上网,docker pull centos会报错:
           docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
 
    原因:如果在docker 宿主机上设置了代理(HTTP、HTTPS)之后,在docker daemon 启动的时候,也要相应的告知 daemon,使用代理来访问internet!!
 
 

二、代理配置

官网解释如下:

有两种方式:
      1. 通过daemon.json文件来修改
        2. 通过覆盖docker.service来实现
  但是对于代理的配置, 官网讲只能使用第二个方案。 具体的步骤如下: 
1、创建docker.service目录
mkdir -p /etc/systemd/system/docker.service.d

2、创建HTTP&HTTPS代理文件
vi /etc/systemd/system/docker.service.d/http-proxy.conf

具体配置内容:   # proxy-addr为代理IP或域名;proxy-port为代理端口;NO_PROXY后面接不需要代理的私有仓库的域名或者IP,以英文逗号结尾

[Service]
Environment="HTTP_PROXY=http://proxy-addr:proxy-port"       #代理服务器地址
Environment="HTTPS_PROXY=http://proxy-addr:proxy-port"      #https
Environment="NO_PROXY=localhost,127.0.0.0/8,docker-registry.example.com,.corp"                #哪些地址不需要走代理

三、重启docker

systemctl daemon-reload
systemctl restart docker

 

四、查看配置结果

[root@node1 ~]# sudo systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy-addr:proxy-port/ HTTPS_PROXY=http://proxy-addr:proxy-port/ NO_PROXY=localhost,127.0.0.0/8,docker-registry.example.com,.corp

参考链接:[https://docs.docker.com/config/daemon/systemd/   官方:docker添加http代理

 
 
 
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值