• docker本地仓库-registry


    Docker本地私有仓库实战:
    docker仓库主要用于存放docker镜像,docker仓库分为公有仓库和私有仓库,基于registry可以搭建本地私有仓库,使用私有仓库的优点如下:
    1. 节省网络带宽,针对每个镜像不用去docker官网仓库下载;
    2. 下载docker镜像从本地私有仓库中下载;
    3. 组件公司内部私有仓库,方便各部门使用,服务器管理更加统一;
    4. 可以基于GIT或者SVN、Jenkins更新本地docker私有仓库镜像版本。
     
    官方提供docker registry来构建本地私有仓库,目前最新版本为v2,最新版的docker已不再支持v1,registry v2使用go语言编写,在性能和安全性上做了很多优化,重新设计了镜像的存储格式。
     
    以下为创建docker本机私有仓库的方法:(本地私有仓库需要另一台机器部署,专门存放镜像)
    docker 本地私有仓库          192.168.1.26   (前2步骤)
    docker 宿主机               192.168.1.20   (后3步骤)
    1)下载docker registry 镜像

    docker pull docker.io/registry

    2)启动私有仓库容器,启动命令如下: 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一遍情况下会指定本地一个目录挂载到容器的/tmp/registry下。

    mkdir -p  /data/registry/
    docker run -itd  -p  5000:5000 -v /data/registry:/var/lib/registry  docker.io/registry

    3)上传镜像至本地私有仓库:
    客户端上传镜像至本地私有仓库,如下以centos7-ssh镜像为例,将busybox上传至私有仓库服务器。
    docker   pull    docker.io/centos7-ssh
    docker   tag    centos7-ssh  192.168.1.26:5000/centos7-ssh
    docker   push  192.168.1.26:5000/centos7-ssh

    上图所示:表示没有上传成功, 默认找https了,而我们不是https, 是http:需要在客户端:/etc/docker/daemon.json文件中写入如下内容:(重启docker 引擎服务)

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

    再次测试:docker push 192.168.1.26:5000/centos7-ssh

    从本地私有仓库下载镜像:docker pull 192.168.1.26:5000/centos7-ssh发现非常快:

     

    4)检测本地私有仓库:

    curl -XGET http://192.168.1.26:5000/v2/_catalog
    curl -XGET http://192.168.1.26:5000/v2/busybox/tags/list

     

    5)客户端使用本地私有仓库:
    客户端docker配置文件添加如下代码,同时重启docker服务,获取本地私有仓库:

    OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry 192.168.0.123:5000'
    ADD_REGISTRY='--add-registry 192.168.1.26:5000'


  • 相关阅读:
    多线程的互斥(下)——信号量
    多线程间的互斥-锁(下)
    多线程间的互斥(上)
    多线程间的同步
    Qt中的多线程编程
    进程和线程的概念
    【linux Vim】8-Vim高级应用
    【linux Vim】7-Vim基本操作
    【linux Vim】6-Vim介绍
    【linux 正则表达式】5-扩展正则表达式
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/13798577.html
Copyright © 2020-2023  润新知