Docker-11-创建自己的Docker Hub

前面我们使用的Docker Hub是由Docker官方提供的,我们也可以搭建自己的Docker Hub,搭建方式也很容器,因为Docker官方已经将Docker注册服务器做成镜像了,我们直接pull下来运行即可

环境搭建

拉取镜像

命令如下:

1
docker pull registry

运行容器

镜像拉下来之后,就可以运行容器了.命令如下:

1
docker run -itd --name registry -p 5000:5000 f32a97de94e1

默认情况下,仓库会被创建在容器的/var/lib/registry目录下,可以通过-v参数挂载本地的路径

私有仓库操作

容器运行起来之后,就可以使用docker tag来标记一个镜像,然后推送它到仓库,我们上面的仓库地址就是127.0.0.1:5000

先来看一下我们本地有哪些镜像
image

标记本地镜像

下面使用docker tagzhou/nginx:v3这个镜像标记为127.0.0.1:5000/zhou/nginx:v3,命令如下:

1
docker tag zhou/nginx:v3 127.0.0.1:5000/zhou/nginx:v3

这里用到的docker tag命令的语法是这样的:

1
docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

上传本地镜像

使用docker push上传标记的镜像到仓库,命令如下:

1
docker push 127.0.0.1:5000/zhou/nginx:v3

image

执行完毕后,再来看一下本地的镜像:
image

查看本地仓库中的镜像

然后我们可以通过curl去查看仓库中的镜像,命令如下:

1
curl 127.0.0.1:5000/v2/_catalog

返回如下:
image

表示我们刚刚上传的镜像已经上传成功了

下载仓库的镜像

上传完成之后,就可以从本地的仓库中去下载了

首先我们把本地的先删了,然后再下载试试

1
docker rmi 127.0.0.1:5000/zhou/nginx:v3

删除完成之后,从本地仓库中拉取镜像,命令如下:

1
docker pull 127.0.0.1:5000/zhou/nginx:v3

image

后续的运行容器等操作都和之前的一样的,关于私有仓库就先介绍到这里