docker国内镜像拉取和镜像加速registry-mirrors配置修改

来源:互联网 发布:马天宇是不是同志知乎 编辑:程序博客网 时间:2024/06/05 17:00

由于国内访问直接访问docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取。 
我比较常用的是网易的镜像中心和daocloud镜像市场。 
网易镜像中心:https://c.163.com/hub#/m/home/ 
daocloud镜像市场:https://hub.daocloud.io/

我们可以先查看下自己的镜像,使用命令: 
[root@localhost docker]# docker images

[root@localhost docker]# docker imagesREPOSITORY                     TAG                 IMAGE ID            CREATED             SIZEdocker.io/nginx                latest              6b914bbcb89e        9 days ago          181.8 MBhub.c.163.com/library/nginx    latest              db079554b4d2        3 weeks ago         181.8 MBdaocloud.io/library/mongo      3.0.14              9fe27000609d        4 weeks ago         269.7 MBhub.c.163.com/library/mysql    latest              7666f75adb6b        5 weeks ago         405.6 MBhub.c.163.com/library/ubuntu   latest              f49eec89601e        6 weeks ago         129.5 MBhub.c.163.com/library/redis    latest              45c3ea2cecac        7 weeks ago         182.9 MBhub.c.163.com/library/centos   latest              c3987965c15d        4 months ago        196.5 MB
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

然后可以在网易的镜像中心和daocloud镜像市场上查询想要拉取的镜像。 
如图:网易镜像
DaoCloud

拉取镜像的命令是:

docker pull 镜像名字
  • 1

所以我们可以按照给出的镜像名字或者命令直接拉取。

[root@localhost docker]# docker pull hub.c.163.com/library/tomcat:latestTrying to pull repository hub.c.163.com/library/tomcat ... latest: Pulling from hub.c.163.com/library/tomcat5040bd298390: Already exists fce5728aad85: Pull complete c42794440453: Pull complete 9789263043d1: Pull complete 6c6ea13aad15: Pull complete 55336e5423a8: Pull complete 228d33a53bdd: Pull complete 3a1cfabb401c: Pull complete b5f79327b275: Pull complete bcbb902619eb: Pull complete ad3d36b3fbaa: Pull complete Digest: sha256:c3a1781843b319547da95c02c3d4c5a428059702fe17d01005093f4dd4f1b87c
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
[root@localhost docker]# docker imagesREPOSITORY                     TAG                 IMAGE ID            CREATED             SIZEhub.c.163.com/library/tomcat   latest              99765a0d7f44        2 weeks ago         355.3 MB
  • 1
  • 2
  • 3

以上是从国内镜像仓库拉取镜像的方法。

如果说还是想从dockerhub上拉取,那么使用加速器修改docker的registry-mirrors。我这里使用的是DaoCloud的加速器。 
首先在http://www.daocloud.io/进行注册登录。然后点击加速器。 
这里写图片描述
就可以获取加速器的相关配置。 
这里写图片描述
由于docker的版本不同和操作系统。使用的方法也有差异。我这里使用的是centos7.2和docker1.12的。 
使用命令 
[root@localhost docker]# docker version

[root@localhost etc]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
  • 1
  • 2

在使用daocloud加速器时,上面有说明文档。 
所以刚开始我在寻找/etc/default/docker这个配置文件,一直找不到,后来发现是因为系统和版本的差异。 
在centos7上这个配置文件已经被更改为 /etc/docker/daemon.json 
可以在这个配置中添加相应的registry-mirrors路径 
原来是这样:

[root@localhost docker]# cat daemon.json {    "live-restore": true}
  • 1
  • 2
  • 3
  • 4

添加后:

{    "registry-mirrors": ["http://ef017c13.m.daocloud.io"],    "live-restore": true}
  • 1
  • 2
  • 3
  • 4

可以手动vim添加,也可以使用daocloud给出的命令直接更改(建议使用命令)

[root@localhost docker]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io
  • 1

更改后重启docker

service docker restart
  • 1

然后再拉取镜像就会发现速度提高好多。 
详情请参考daocloud的说明文档:http://guide.daocloud.io/dcs/daocloud-9153151.html 
docker官方文档:https://docs.docker.com/engine/admin/ 
里面有其他版本的修改说明。