美文网首页
Docker私有仓库

Docker私有仓库

作者: 米刀灵 | 来源:发表于2017-02-07 11:06 被阅读170次

    镜像构建完成后,可以很容易的在当前宿主上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。

    一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

    一般而言,一个仓库包含的是同一个软件的不同版本的镜像,而标签则用于对应于软件的的不同版本。我们可以通过 <仓库名>:<标签>的格式来指定具体是哪个版本的镜像。如果不给出标签,将以 latest作为默认标签。

    Ubuntu 镜像 为例,ubuntu是仓库的名字,其内包含有不同的版本标签,如,14.04, 16.04。我们可以通过 ubuntu:14.04,或者 ubuntu:16.04来具体指定所需哪个版本的镜像。如果忽略了标签,比如 ubuntu,那将视为 ubuntu:latest。

    仓库名经常以 两段式路径 形式出现,比如 jwilder/nginx-proxy,前者往往意味着 Docker Registry 多用户环境下的用户名,后者则往往是对应的软件名。但这并非绝对,取决于所使用的具体 Docker Registry 的软件或服务。

    公共仓库:
    目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像。大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现。
    用户无需登录即可通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令来将它下载到本地。


    根据是否是官方提供,可将镜像资源分为两类。 一种是类似 centos 这样的基础镜像,被称为基础或根镜像。这些基础镜像是由 Docker 公司创建、验证、支持、提供。这样的镜像往往使用单个单词作为名字。 还有一种类型,比如 tianon/centos 镜像,它是由 Docker 的用户创建并维护的,往往带有用户名称前缀。可以通过前缀 user_name/ 来指定使用某个用户提供的镜像。
    下载官方 centos 镜像到本地:

    $ sudo docker pull centos
    

    私有仓库:
    用户可以创建一个本地仓库供私人使用。docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。
    安装:

    docker pull registry
    docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry
    

    Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

    push镜像到私有库:

    docker pull hello-world
    docker tag hello-world 192.168.220.123(仓库所在服务器地址):5000/hellobyqq
    docker push 192.168.220.123:5000/hellobyqq
    

    现在我们可以查看我们本地/opt/registry目录下已经有了刚推送上来的hellobyqq。通过 curl http://192.168.220.123:5000/v2/_catalog 可以看到私有库上存在的镜像。

    从私有仓库中pull到本地:

    docker pull 192.168.220.123:5000/hellobyqq
    

    常见问题:
    因为Docker从1.3.X之后,与docker registry交互默认使用的是https,而此处搭建的私有仓库只提供http服务 。
    在服务端和客户端:
    vi /etc/docker/daemon.json

    { "insecure-registries":["192.168.220.123:5000"] }
    

    然后重启docker systemctl restart docker.service

    相关文章

      网友评论

          本文标题:Docker私有仓库

          本文链接:https://www.haomeiwen.com/subject/zeypittx.html