仓库是集中存放镜像的地方,注册服务器是存放仓库的具体服务器,每个服务器可以有多个仓库,每个仓库可以有多个镜像。


仓库分为公共仓库和私有仓库。


1、Docker Hub


Docker官方维护了一个公共的仓库https://hub.docker.com,其中包含了15000多个镜像,大部分需求都可以通过DockerHub中直接下载镜像来实现。


我们可以通过docker login命令来输入用户名、密码和邮箱来完成注册和登录。注册成功后,本地用户目录的.dockercfg中将保存用户的认证信息。


我们可以通过docker search命令来搜索镜像,docker pull 下载镜像,docker push命令上传本地镜像。


2、创建和使用私有仓库


我们可以通过官方提供的registry镜像来简单搭建一套本地私有仓库。


docker run -d -p 5000:5000 registry


将下载并自动启动一个registry容器,创建本地私有仓库服务。


默认情况下,会将仓库创建在容器的/tmp/registry目录下。可以通过-v将镜像存储到本地的指定目录下。


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


此时,在本地将会启动一个私有仓库,端口为5000


先将镜像打上标签:


docker tag ubuntu:14.04 localhost:5000/test


然后push标记的镜像:


docker push localhost:5000/test


使用curl查看仓库localhost:5000的镜像:、


curl http://localhost:5000/v1/search


如果成功,现在就可以在任意一台能访问到localhost地址的机器去下载这个镜像了:


docker pull localhost:5000/test.