由于国内访问直接访问docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取。
我比较常用的是网易的镜像中心和daocloud镜像市场。
网易镜像中心:https://c.163.com/hub
daocloud镜像市场:https://hub.daocloud.io/
中科大: https://docker.mirrors.ustc.edu.cn
我们可以先查看下自己的镜像,使用命令:
docker images
然后可以在网易的镜像中心和daocloud镜像市场上查询想要拉取的镜像。
如图:
拉取镜像的命令是:
docker pull 镜像名字
所以我们可以按照给出的镜像名字或者命令直接拉取。
docker pull hub.c.163.com/library/tomcat:latest
以上是从国内镜像仓库拉取镜像的方法。
如果说还是想从dockerhub上拉取,那么使用加速器修改docker的registry-mirrors。我这里使用的是DaoCloud的加速器。
首先在http://www.daocloud.io/进行注册登录。然后点击加速器。
就可以获取加速器的相关配置。
由于docker的版本不同和操作系统。使用的方法也有差异。我这里使用的是centos7.2和docker1.12的。
使用命令
docker version
cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
在使用daocloud加速器时,上面有说明文档。
所以刚开始我在寻找/etc/default/docker这个配置文件,一直找不到,后来发现是因为系统和版本的差异。
在centos7上这个配置文件已经被更改为 /etc/docker/daemon.json
可以在这个配置中添加相应的registry-mirrors路径
vi /etc/docker/daemon.json
内容:
{ "registry-mirrors":["http://ef017c13.m.daocloud.io"], "live-restore": true }
可以手动vim添加,也可以使用daocloud给出的命令直接更改(建议使用命令)
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io
更改后重启docker
systemctl docker restart
然后再拉取镜像就会发现速度提高好多。
详情请参考daocloud的说明文档:http://guide.daocloud.io/dcs/daocloud-9153151.html
docker官方文档:https://docs.docker.com/engine/admin/
里面有其他版本的修改说明。