仓库(Repository)是什么,仓库是集中存放镜像的地方。
一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 dl.dockerpool.com/ubuntu 来说, dl.dockerpool.com 是注册服务器地址, ubuntu 是仓库名。
目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像。大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现。
可以通过执行 dockerlogin 命令来输入用户名、密码和邮箱来完成注册和登录。 注册成功后,本地用户目录的 .dockercfg中将保存用户的认证信息。
无需登录可使用docker search 来搜索镜像、
注册地址https://registry.hub.docker.com/
有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。
本节介绍如何使用本地仓库。
docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。
$ sudo docker run -d -p 5000:5000 registry
默认情况下,仓库会被创建在容器的 /tmp/registry 下。可以通过 -v 参数来将镜像文件存放在本地的指定路径。 例如下面的例子将上传的镜像放到 /opt/data/registry 目录。
$ sudo docker run -d -p 5000:5000 -v/opt/data/registry:/tmp/registry registry
使用push来上传镜像
如发生上面报错需要修改配置文件,Ubuntu下配置文件地址为:/etc/init/docker.conf
在其中增加--insecure-registry 192.168.7.181:5000如下所示:(ip地址是你的docker服务器地址)。修改完
这个本来是要重启docker的 #sudo restart docker,我这边测试的没用,你们可以试下,这个不成功也没关
系 直接重启系统 #sudo reboot 搞定
下面我们删除这个镜像
#sudo docker rmi 192.168.7.181:5000/busybox
可以使用curl来查看我们的私有镜像curl http://192.168.7.181/v1/search
网页查看
从私有仓库再次下载我们的镜像