详解如何修改docker pull镜像源
docker hub mirror 为全球最大的docker registry(docker hub)提供在中国的镜像代理服务。docker hub mirror会为中国的用户在国内的服务器上缓存诸多镜像
当用户的docker设定了--registry-mirror参数后,用户的docker下拉镜像时,首先去docker hub mirror中查找镜像,若命中则说明该镜像已经在docker hub mirror中缓存,用户直接从docker hub mirror中下载;若没有命中,则说该镜像还没有被缓存,那么docker hub mirror首先会被驱使去docker hub中下载该镜像,并进行缓存,最终让用户从docker hub miorror中下载该镜像
ubuntu:
安装或升级docker
docker 1.3.2版本以上才支持docker hub mirror机制,如果您还没有安装docker或者版本过低,请安装或升级版本
配置docker hub mirror
sudo echo "docker_opts=\"$docker_opts --registry-mirror=http://xxx.m.daocloud.io\"" >> /etc/default/docker service docker restart
请将xxx替换为您在 daocloud 上注册后,为您专属生成的mirror地址链接名。 该脚本可以将 --registry-mirror 加入到您的docker配置文件 /etc/defaults/docker中
下载官方ubuntu镜像
docker pull ubuntu
centos:
安装或升级docker
docker 1.3.2版本以上才支持docker hub mirror机制,如果您还没有安装docker或者版本过低,请安装或升级版本
配置docker hub mirror
sudo sed -i 's|options='--registry-mirror=true'|options='--registry-mirror=http://xxx.m.daocloud.io|g' /etc/sysconfig/docker && service docker restart
mac:
安装或升级mac版本下的boot2docker
docker 1.3.2版本以上才支持docker hub mirror机制,如果您还没有安装docker或者版本过低,请安装或升级版本。
配置docker hub mirror
请确认你的boot2docker已经启动,并执行
boot2docker ssh sudo su echo "extra_args=\"--registry-mirror=http://xxx.m.daocloud.io\"" >> /var/lib/boot2docker/profile && exit exit boot2docker restart
windows:
安装或升级mac版本下的boot2docker
docker 1.3.2版本以上才支持docker hub mirror机制,如果您还没有安装docker或者版本过低,请安装或升级版本。
配置docker hub mirror
进入boot2docker start shell,并执行
sudo su echo "extra_args=\"--registry-mirror=http://xxx.m.daocloud.io\"" >> /var/lib/boot2docker/profile exit # 重新启动boot2docker
本文做的实验环境为centos
vim /etc/sysconfig/docker options='--registry-mirror=http://9zkjjecg.mirror.aliyuncs.com' systemctl restart docker.service
下载ubuntu镜像
docker pull ubuntu
启动容器,出现下面警告
[root@linux-node1 sysconfig]# docker run -i -t ubuntu /bin/bash usage of loopback devices is strongly discouraged for production use. either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
解决方法:vim /etc/sysconfig/docker-storage,添加下面的一句话
docker_storage_options="--storage-opt dm.no_warn_on_loop_devices=true"
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。