因为docker
的不断成熟,docker在实际生产环境中的应用已经获得愈来愈多的印证,所以,公司项目想从原来的Mina部署转为docker
部署,可是docker仓库因为在国内没有cdn,致使镜像下载速度无比的缓慢,因此决定换成国内镜像,因为操做系统是使用coreos
,不管国内外资料都很是少,所以途中爬了不少坑,这篇文章是我爬坑的总结linux
docker
是目前煊赫一时的云计算开源项目,随着docker不断发展,不久前,国内第一家基于docker
技术的一站式容器云平台daocloud正式推出了,同时也给国内广大docker爱好者带来了docker的免费国内镜像.前往docker的官网注册一个帐号登陆后就能获得一个免费的docker镜像地址,如http://xxx.m.daocloud.iodocker
coreos
是一个高度精简的linux操做系统,将许多本来须要复杂人工操做或者第三方软件支持的功能在操做系统级别进行了实现,同时剔除了其余对于服务器系统非核心的软件,好比GUI和包管理器。coreos
并不鼓励用户将各类应用软件直接安装在操做系统之上,而是提倡将全部服务运行在单独的应用容器中,由应用容器提供应用所须要的基础功能环境。这种作法将操做系统和应用程序的职责作了更完全的分离,下降操做系统和应用程序的耦合度,使运行这些服务器的公司能够更快速、更廉价地更新本身的线上业务。
正式这种特性,coreos
能够说十分适合用来部署docker
服务shell
docker
在coreos
中是一个服务,在coreos
中没一个服务都由一个unit文件来定义,docker
的unit文件在usr/lib/systemd/system/docker.service
,咱们须要将它拷贝出来将其放在docker服务启动时会加载的位置服务器
shell
cp /usr/lib/systemd/system/docker.service /etc/systemd/system
打开这种文件,咱们会发现里面有一个更改docker镜像地址的关键环境变量$DOCKER_OPTS
,而更改镜像地址的本质就是更改$DOCKER_OPTS
的值。
这个环境变量的值是在/run/flannel_docker_opts.env
中设置的,若是你的系统里没有这个文件,就本身添加一个这个文件云计算
往这个文件里添加从daocloud上获取的镜像地址操作系统
shell
DOCKER_OPTS="--registry-mirror=http://xxxx.m.daocloud.io"
添加完成后,运行rest
shell
sudo systemctl daemon-reload sudo systemctl restart docker
运行 ps aux
若是能看到code
shell
root 1725 0.6 1.7 221400 18328 ? Ssl 15:27 0:00 docker --daemon --host=fd:// --registry-mirror=http://xxx.m.daocloud
那么就大功告成了cdn
虽然整个配置流程看起来并不复杂,可是使用比较新的技术不免要爬坑,因为国内外资料都很是的少,致使爬坑异常的艰难,但愿你们能节省爬过这个坑的时间。部署