小知识:Docker配置HTTP/HTTPS代理的方法

起因

我在使用Docker的pull命令拉取ELK官方提供的镜像时,会出现无法连接的情况,并且会出现TLS handshake timeout的错误。在搜索相关文章之后得出结论:国内的网络环境不好,导致连接docker.elastic.co失败或无法连接。于是我第一时间想到了代理的方式,好在Docker支持设置代理来访问其他Registry,下面记录整个配置过程。

准备工作

首先,你的机器上需要安装好Docker,当我写这篇文章时,Docker的版本为18.03,对于后续版本,本文章的配置方法可能会失效。

此外,还需要准备一个代理服务器,可以正常访问境外网站(如:Google,YouTuBe等)。我用的是VPS搭建的Shadowsocks代理,本机Shadowsocks客户端开启之后可以直接通过http://127.0.0.1:1080/访问境外网站。

假设你的环境也是Ubuntu(其他环境应该也是类似的)。

开始配置

1、创建如下路径的目录

?
1
sudo mkdir -p /etc/systemd/system/docker.service.d

2、进入到上一步创建的目录下,并在该目录下创建一个名为http-proxy.conf的文件(如:/etc/systemd/system/docker.service.d/http-proxy.conf),使用vim编辑文件内容如下

?
1
2
[Service]
Environment=”HTTPS_PROXY=http://127.0.0.1:1080/” “NO_PROXY=localhost,127.0.0.1,registry.docker-cn.com,hub-mirror.c.163.com”

3、刷新配置

?
1
sudo systemctl daemon-reload

4、重启Docker服务

?
1
sudo systemctl restart docker

5、查看配置

?
1
systemctl show –property=Environment docker

出现如下信息表示配置成功:

Environment=HTTPS_PROXY=http://127.0.0.1:1080/ NO_PROXY=localhost,127.0.0.1,registry.docker-cn.com,hub-mirror.c.163.com

6、验证配置是否生效

重新从docker.elastic.co上拉取elasticsearch镜像,此时已经可以正常连接了,只是速度较慢。

 liuwei@liuwei-Ubuntu:~$ sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:6.2.4

6.2.4: Pulling from elasticsearch/elasticsearch

469cfcc7a4b3: Downloading [==========================>                        ]  38.87MB/73.17MB

8e27facfa9e0: Downloading [===================================>               ]  40.05MB/56.33MB

cdd15392adc7: Download complete

ddcc70fbd933: Downloading [====================>                              ]  44.31MB/108.9MB

3d3fa0383994: Waiting

15d1376ebd55: Waiting

这种方法适用于从一些第三方提供的Registry上拉取镜像时,由于网络原因无法连接。如果从Docker官方的镜像仓库中拉取镜像时,一种比较好的办法就是配置registry-mirrors实现加速,具体方法请自行搜索。

上述步骤是来自Docker官方文档中的部分,原文地址为Control Docker with systemd。

如果你在配置过程遇到问题,欢迎在留言讨论。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://lw900925.github.io/docker/docker-http-or-https-proxy.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker系列之使用Docker Compose编排容器

2023-4-10 23:21:19

建站知识

小知识:Linux中find命令的用法入门

2023-4-10 23:29:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索