Docker仓库

仓库Repository)是什么,仓库是集中存放像的地方。

一个容易混淆的概念是注册服器(Registry)。实际上注册服器是管理仓库的具体服器,每个服器上可以有多个仓库,而每个仓库下面有多个像。从方面来仓库可以被认为是一个具体的目或目。例如仓库地址 dl.dockerpool.com/ubuntu dl.dockerpool.com 是注册服器地址, ubuntu 仓库名。

Docker Hub

目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已包括了超15,000 像。大部分需求,都可以通 Docker Hub 中直接下载镜像来实现

可以通过执dockerlogin 命令来入用名、密箱来完成注册和登。 注册成功后,本地用.dockercfg中将保存用认证信息。

无需登录可使用docker search 来搜索镜像、

Docker之三仓库_docker 仓库

注册地址https://registry.hub.docker.com/

私有仓库

候使用 Docker Hub 这样的公共仓库可能不方便,用可以建一个本地仓库供私人使用。

如何使用本地仓库

docker-registry 是官方提供的工具,可以用于建私有的仓库

安装docker-registry,由于我没下载这个包所以第一次自动下载

$ sudo docker run -d -p 5000:5000 registry

Docker之三仓库_docker 仓库_02

情况下,仓库会被建在容器的 /tmp/registry 下。可以通-v 参数来将像文件存放在本地的指定路径。 例如下面的例子将上像放到 /opt/data/registry

$ sudo docker run -d -p 5000:5000 -v/opt/data/registry:/tmp/registry registry

Docker之三仓库_docker 仓库_03 

使用push来上传镜像

Docker之三仓库_docker 仓库_04

如发生上面报错需要修改配置文件,Ubuntu下配置文件地址为:/etc/init/docker.conf
在其中增加--insecure-registry 192.168.7.181:5000如下所示:(ip地址是你的docker服务器地址)。修改完

这个本来是要重启docker的 #sudo restart docker,我这边测试的没用,你们可以试下,这个不成功也没关

系 直接重启系统 #sudo reboot 搞定

Docker之三仓库_docker 仓库_05

Docker之三仓库_docker 仓库_06

下面我们删除这个镜像

#sudo docker rmi 192.168.7.181:5000/busybox

Docker之三仓库_docker 仓库_07

可以使用curl来查看我们的私有镜像curl  http://192.168.7.181/v1/search

Docker之三仓库_docker 仓库_08

网页查看

Docker之三仓库_docker 仓库_09

从私有仓库再次下载我们的镜像Docker之三仓库_docker 仓库_10