1. 下载registry镜像(该主机必须已安装docker)

 

docker pull registry:latest

 

2. 创建数据目录

   mkdir -p /home/user/docker-registry/data    

 

3. 运行docker

    docker run -d   

        -p 5000:5000    #暴露5000端口

        -v /home/user/docker-registry:/opt/docker-image 

                        #挂载目录,将docker镜像数据持久化

        -e SQLALCHEMY_INDEX_DATABASE=sqlite:opt/docker-image/docker-registry.db  

                        #设置仓库数据库文件

        -e STORAGE_PATH=/opt/docker-image 

                        #设置仓库数据存储位置

         registry:latest

 

4. docker中镜像的命名规则

     registry.domain.com/namespace/repository :tags ,这是一个完整的image名称,下面说下各部分的作用

registry.domain.com: image所在服务器地,如果是官方的hub部分忽略

namespace :namespace,命名空间,或者说成是你镜像的一个分类

repository :镜像的具体名字

tags :image的版本号

例如: 192.168.1.116:5000/test/ubuntu:12.04

5. push镜像到私有hub

      docker tag  imageid   registry.domain.com/namespace/repository :tags

     docker push registry.domain.com/namespace/repository :tags

 

6. Pull镜像到本地

     docker pull registry.domain.com/namespace/repository :tags

 

7. 查询hub中镜像

       查询所有镜像 :  http://registry.domain.com/v1/search   

       查询单个镜像:   http://registry.domain.com/v1/search?q=镜像名称

           

 

 参考文档:

   github: https://github.com/dotcloud/docker-registry

   api: http://docs.docker.com/reference/api/registry_api/


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐