0
点赞
收藏
分享

微信扫一扫

Docker配置register加速Docker hub

需求

由于国内访问直接访问docker hub网速比较慢,拉取镜像的时间就会比较长,例如下面这样:

Docker配置register加速Docker hub_html

image-20200413172605899

一直处于一个无情等待的状态。

那么如何解决这个问题呢?此时可以使用国内的镜像仓库平台进行加速拉取下载,其实就是起了一个中转站的效果。首先国内的镜像平台帮我们将国外的docker hub上镜像都下载到国内,然后再提供我们国内的下载地址即可。

而我们要做的,就是将默认的下载镜像仓库,改为国内的镜像仓库即可。

上面这些步骤说的就是使用 daocloud镜像市场:https://hub.daocloud.io/

使用DaoCloud的国内镜像加速器

登陆注册DaoCloud

访问 https://account.daocloud.io/signin

其实注册不注册都没关系,如果不想注册的,可以直接跳到下面的 访问加速器

Docker配置register加速Docker hub_javascript_02

登陆之后,选择加速器

Docker配置register加速Docker hub_html_03

image-20200413173821613

访问加速器

​​https://www.daocloud.io/mirror​​

Docker配置register加速Docker hub_javascript_04

image-20200413174156160 Docker配置register加速Docker hub_docker_05

image-20200413175102958

配置 Docker 镜像站

Linux

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同。更多详情请访问文档。

macOS

Docker For Mac

右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:

http://f1361db2.m.daocloud.io

点击 Apply & Restart 按钮使设置生效。

Docker Toolbox 等配置方法请参考帮助文档。

Windows

Docker For Windows

在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:

http://f1361db2.m.daocloud.io

加到" ​​registry-mirrors​​"的数组里。点击 Apply 。

Docker Toolbox 等配置方法请参考帮助文档。

在Liunx下配置演练

因为我使用的是Centos7,配置演练如下。

执行配置Docker镜像站命令

[root@server01 ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
docker version >= 1.12
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],}
Success.
You need to restart docker to take effect: sudo systemctl restart docker
[root@server01 ~]#

注意:如果你没有没有配置过docker的daemon.json文件,就会出现上面这样的提示。执行过后,看看daemon文件,如下:

[root@server01 ~]# cd /etc/docker/
[root@server01 docker]# ls
certs.d daemon.json daemon.json.bak key.json seccomp.json
[root@server01 docker]#
# 可以看到原来的 daemon.json 被改为 daemon.json.bak,下面则是配置好的daocloud仓库地址。
[root@server01 docker]# cat daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],}
[root@server01 docker]#

不过可以发现这里有一个逗号​​,​​ ,此时如果直接重启docker服务,则会报错如下:

[root@server01 docker]# sudo systemctl restart docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
[root@server01 docker]#

其实这个错误的原因就是因为json格式不对导致。

修改一下​​daemon.json​​如下:

[root@server01 docker]# vim daemon.json
[root@server01 docker]#
# 去除最后的逗号
[root@server01 docker]# cat daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
[root@server01 docker]#
# 成功重启docker服务
[root@server01 docker]# sudo systemctl restart docker

好啦,此时就可以体验一波下载的速度了。

Docker配置register加速Docker hub_html_06

image-20200413180652976

举报

相关推荐

0 条评论