zoukankan      html  css  js  c++  java
  • docker私有镜像仓库的搭建及认证(十一)

    DockerHub 为我们提供了很多官方镜像和个人上传的镜像,我们可以下载机构或个人提供的镜像,也可以上传我们自己的本地镜像,但缺点是:

    由于网络的原因,从 DockerHub 下载和上传镜像速度可能会比较慢;

    在生产上使用的 Docker 镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内网的开发人员下载。

    为了解决以上问题,Docker 官方提供了一个叫做 registry 的镜像用于搭建本地私有仓库使用。在内部网络搭建的 Docker 私有仓库可以使内网人员下载、上传都非常快速,不受外

    网带宽等因素的影响,同时不在内网的人员也无法下载我们的镜像,并且私有仓库也支持配置仓库认证功能。接下来详细讲解 registry 私有仓库的搭建过程。

    一、拉取私有仓库镜像

    拉取私有仓库镜像。

    docker pull registry

    二、修改配置

    修改 daemon.json 文件。

    vi /etc/docker/daemon.json

    添加以下内容,用于让 Docker 信任私有仓库地址,保存退出。

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

     重新加载配置信息及重启 Docker 服务。

    # 重新加载某个服务的配置文件
    sudo systemctl daemon-reload
    # 重新启动 docker
    sudo systemctl restart docker

    三、创建私有仓库容器

    创建私有仓库容器。

    mkdir -p /mydata/docker_registry
    docker run -di --name registry -p 5000:5000 -v /mydata/docker_registry:/var/lib/registry registry
    • -d :后台运行容器;
    • --name :为创建的容器命名;
    • -p :表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射;
    • -v :将容器内 /var/lib/registry 目录下的数据挂载至宿主机 /mydata/docker_registry 目录下;

    打开浏览器输入:http://192.168.10.10:5000/v2/_catalog 看到 {"repositories":[]} 表示私有仓库搭建成功并且内容为空。

    四、推送镜像至私有仓库

    先给镜像设置标签 docker tag local-image:tagname new-repo:tagname ;

    再将镜像推送至私有仓库 docker push new-repo:tagname 。

    docker tag hello-world:latest 192.168.10.10:5000/test-hello-world:1.0.0
    docker push 192.168.10.10:5000/test-hello-world:1.0.0

     

     打开浏览器输入:http://192.168.10.10:5000/v2/_catalog 可以看到私有仓库中已上传的镜像。

     由于我们做了目录挂载,因此可以在宿主机

    /mydata/docker_registry/docker/registry/v2/repositories 目录下查看。

  • 相关阅读:
    连续3年!SpreadJS 纯前端表格控件荣获“中国优秀软件产品”
    终于有一款组件可以全面超越Apache POI
    List<Object> 多条件去重
    xml文档的解析并通过工具类实现java实体类的映射:XML工具-XmlUtil
    soap get/post请求
    map转java对象
    springboot postman 对象里传时间格式问题
    spring boot的多环境部署
    Hibernate 之 @Query查询
    利用maven命令将外部jar包导进maven仓库
  • 原文地址:https://www.cnblogs.com/tesila/p/15311808.html
Copyright © 2011-2022 走看看