Docker本地仓库的推荐创建方法

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

这样就可以了,完全不需要指定配置文件等其它复杂配置。 

更具体的内容,可以参考

CentOS 6/7系列安装Docker

Docker的搭建Gitlab CI 全过程详解

Docker安装应用(CentOS 6.5_x64)

Docker 和一个正常的虚拟机有何区别?

在 Docker 中使用 MySQL

Docker 将改变所有事情

Docker安装应用(CentOS 6.5_x64)

Docker 的详细介绍请点这里
Docker 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9b94285ad043e63b70559b748f7099a3.html