• Docker学习五:如何搭建私有仓库


    一、基本概念

    仓库:是存储和分发镜像的地方,分为公共镜像仓库和私有镜像仓库

    注册服务器、仓库、镜像之间的关系

    注册服务器是存放仓库的实际服务器,而仓库则可以被理解为一个具体的项目或者目录;注册服务器可以包含很多个仓库,每个仓库又可以包含多个镜像。例如我的镜像地址为 docker.io/centos,docker.io 是注册服务器,centos 是仓库名

     二、创建镜像仓库

    公共镜像仓库

    1、官网https://hub.docker.com/注册账号后

     2、通过docker login命令镜像仓库

    docker login命令默认会登录Docker Hub镜像仓库,如果想登录其他第三方或者自建的镜像仓库,后面加上注册服务器即可

    3、通过docker tag命令重命名仓库

    docker tag busybox canghai123qwer/busybox,注意名称格式:账号/镜像名称,否则会出现“denied: requested access to the resource is denied”错误

    4、通过docker pull命令可拉取上面创建的镜像

    私有镜像仓库

    本地仓库

    1、启动本地仓库

    docker run -d -p 5000:5000 --name registry registry:2.7

     2、重命名镜像后推送到本地镜像仓库

     3、删除已有的localhost:5000/busybox镜像后,通过docker pull命令拉取本地镜像

     4、镜像持久化存储

    docker run -v /var/lib/registry/data:/var/lib/registry -d -p 5000:5000 --name registry registry:2.7

    构建外部可访问的镜像仓库(未实践)

    要构建一个支持 HTTPS 访问的安全镜像仓库,需要满足以下两个条件:

    • 拥有一个合法的域名,并且可以正确解析到镜像服务器;

    • 从证书颁发机构(CA)获取一个证书。

    通过如下命令启动镜像仓库

    docker run -d 
      --name registry 
      -v "/var/lib/registry/data:/var/lib/registry 
      -v "/var/lib/registry/certs:/certs 
      -e REGISTRY_HTTP_ADDR=0.0.0.0:443 
      -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/regisry.lagoudocker.io.crt 
      -e REGISTRY_HTTP_TLS_KEY=/certs/regisry.lagoudocker.io.key 
      -p 443:443 
      registry:2.7

    其中,使用 -v 参数把镜像数据持久化在/var/lib/registry/data目录中,同时把主机上的证书文件挂载到了容器的 /certs 目录下,同时通过 -e 参数设置 HTTPS 相关的环境变量参数,最后让仓库在主机上监听 443 端口

    启动后,可以通过docker push命令远程推送镜像

    docker tag busybox regisry.lagoudocker.io/busybox
    docker push regisry.lagoudocker.io/busybox
  • 相关阅读:
    根据IP头格式 写sniff
    双零碎安设Linux之后找不到Windows分区
    Oracle的共享封锁 独有封锁和共享更新封锁 (3)
    设置配备部署Windows与Linux平台的DATA GURAD (1)
    GTick 桌面节拍器
    在文本终端怎样查看上一屏内容(终端回滚快捷键)
    肃清Cache影响手动逼迫革新Buffer Cache
    Oracle数据库无法加载_OraMTS_的处理赏罚设置装备安置
    Linux操纵琐细下确立DBCA报错的料理要领
    设置Windows与Linux平台的DATA GURAD (2)
  • 原文地址:https://www.cnblogs.com/canghai1024/p/13673006.html
Copyright © 2020-2023  润新知