zoukankan      html  css  js  c++  java
  • Docker 私有仓库搭建

    一、简介

    在 Docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。这一篇介绍registry、harbor两种私有仓库搭建。

    二、registry 的搭建

    1. 搭建

    Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。

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

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

    浏览器访问http://127.0.0.1:5000/v2,出现下面情况说明registry运行正常。

    2. 验证

    现在通过push镜像到registry来验证一下。

    查看本地镜像:

    $ docker images
    REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
    nginx                                                  latest              568c4670fa80        5 weeks ago         109MB
    ubuntu                                                 latest              93fd78260bd1        7 weeks ago         86.2MB
    elasticsearch                                          6.5.1               32f93c89076d        7 weeks ago         773MB

    要通过docker tag将该镜像标志为要推送到私有仓库:

    docker tag nginx:latest localhost:5000/nginx:latest

    通过 docker push 命令将 nginx 镜像 push到私有仓库中:

    docker push localhost:5000/nginx:latest

    访问 http://127.0.0.1:5000/v2/_catalog 查看私有仓库目录,可以看到刚上传的镜像了:

    下载私有仓库的镜像,使用如下命令:

    docker pull localhost:5000/镜像名:版本号
    例如
    docker pull localhost:5000/nginx:latest
  • 相关阅读:
    oracle之is null和is not null的优化
    oracle命令导出/导入
    Linux环境下后台启动运行jar并设置内存
    阿里云手动安装git客户端
    阿里云安装maven
    python 迭代器
    ThreadPoolExecutor构造器参数详解
    CVE-2020-13957 solr未授权复现
    CVE-2020-9496 apache ofbiz xml-rpc反序列化漏洞分析
    REST API介绍
  • 原文地址:https://www.cnblogs.com/gjack/p/12420527.html
Copyright © 2011-2022 走看看