仓库简介
随着创建的镜像日益增多,就需要有一个保存镜像的地方,这就是仓库。目前有两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库上传和下载镜像,下载公共仓库中的镜像不需要注册,但上传镜像到公共仓库是需要注册的。公共仓库中填写完成仓库的ID号、邮箱以及登录仓库的密码并在邮件中进行激活就可以上传自己的镜像。
那么怎么构建属于自己的私有仓库呢?可以使用registry来搭建本地私有仓库。
步骤
下载registry镜像
# docker pull registry
下载完成后的状态:
Using default tag: latest latest: Pulling from library/registry 4064ffdc82fe: Pull complete c12c92d1c5a2: Pull complete 4fbc9b6835cc: Pull complete 765973b0f65f: Pull complete 3968771a7c3a: Pull complete Digest: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8 Status: Downloaded newer image for registry:latest
创建json文件
# vim /etc/docker/daemon.json { "insecure-registries":["192.168.177.147:5000"]} //本地的IP及端口号
重启服务
# systemctl restart docker.service
==注==:创建完json文件后,一定要重启服务,不然后面可能会出错
创建容器并挂载
# docker create -it registry /bin/bash //创建容器 # docker ps -a //查看容器的运行状态 # docker start 67b98e15c857 # docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry //宿主机的/data/registry自动创建挂载容器中的/tmp/registry
上传镜像
# docker tag jasonlix/docker-cobbler 192.168.177.147:5000/cobbler //更改标记为192.168.177.147:5000/cobbler # docker push 192.168.175.145:5000/cobbler //上传镜像
显示:
The push refers to a repository [192.168.177.147:5000/cobbler] 983c23e6d629: Pushed 58c8b3d7f322: Pushed e6bf41084b0e: Pushed eb048cf06c75: Pushed 34e7b85d83e4: Pushed latest: digest: sha256:dfb7b852c32b24b92fc3dff6f559dbf3ab77cbdf1b0247a843ffcddd336f3ab0 size: 1362
获取私有仓库列表
# curl -XGET http://192.168.177.147:5000/v2/_catalog //获取私有仓库列表