共计 1324 个字符,预计需要花费 4 分钟才能阅读完成。
Docker 支持采用仓库(本处指的是 registry)来支持镜像的分发和更新管理。这极大的便利了用户。
官方提供了 dockerhub 网站来作为一个公开的集中仓库。然而,本地访问 dockerhub 速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用。
关于如何创建和使用本地仓库,其实已经有很多文章介绍了。
但是这些文章要么内容已经过时,要么给出了错误的配置,导致无法正常创建仓库。
首先,需要介绍下原理。
Docker 仓库实际上提供两方面的功能,一个是镜像管理,一个是认证。
前者主要由 docker-registry 项目来实现,通过 http 服务来上传下载;后者可以通过 docker-index 项目或者利用现成认证方案实现 http 请求管理。
今天先不讨论如何实现认证环节。
docker-registry 既然也是软件应用,自然最简单的方法就是使用官方提供的已经部署好的镜像 registry。
官方文档中也给出了建议,直接运行 sudo docker run -p 5000:5000 registry 命令。这样确实能启动一个 registry 服务器,但是所有上传的镜像其实都是由 docker 容器管理,放在了 /var/lib/docker/…. 某个目录下。而且一旦删除容器,镜像也会被删除。
因此,我们需要想办法告诉 docker 容器镜像应该存放在哪里。
registry 镜像中启动后镜像默认位置是 /tmp/registry,因此直接映射这个位置即可,比如到本机的 /opt/data/registry 目录下。
可以使用命令
sudo dockerrun -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
这样就可以了,完全不需要指定配置文件等其它复杂配置。
更具体的内容,可以参考 http://yeasy.gitbooks.io/docker_practice/repository/local_repo.html
CentOS 6/ 7 系列安装 Docker http://www.linuxidc.com/Linux/2014-07/104768.htm
Docker 的搭建 Gitlab CI 全过程详解 http://www.linuxidc.com/Linux/2013-12/93537.htm
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Docker 和一个正常的虚拟机有何区别? http://www.linuxidc.com/Linux/2013-12/93740.htm
在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm
Docker 将改变所有事情 http://www.linuxidc.com/Linux/2013-12/93998.htm
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Docker 的详细介绍 :请点这里
Docker 的下载地址 :请点这里