• Docker仓库构建:官方仓库、私有仓库及企业级仓库harbor的搭建


    • 在这里插入图片描述

    官方仓库

    • 官方仓库,拉取时比较缓慢

    1.注册账号,建立公共仓库

    • 在hub.docker.com注册账号,建立公共仓库
      在这里插入图片描述
      建立账号:yitian007,westos123
    • 注册用户和密码,把webserver上传
      在这里插入图片描述
      在这里插入图片描述
    • 用户后面有名称
    • 删除本地webserever
    • 路径过长,修改名字
    • 用户在下载时,映射到最新版
    • 该标签会自动映射到最新一次构建——官方惯例
    • 个人镜像分享出来
      在这里插入图片描述
      在这里插入图片描述
    • 登录,认证保存
      在这里插入图片描述
    • 修改标签名
      在这里插入图片描述

    2.官方仓库的上传和下载

    • 生产环境中,容器不会直接连外网,而虚拟机完全隔离
    • 拉取镜像是受网速影响,占用网络带宽
    • 在内网建立一个私有仓库,阿里云、腾讯云、华为云会给你一个私有仓库

    registry工作原理

    • 在这里插入图片描述
    • 官方软件仓库,在自己用户账号创建仓库
    • 仓库角色
      在这里插入图片描述

    拉取镜像

    在这里插入图片描述

    • 直接从官方拉取
    • 和通过镜像加速器拉取,速度有很大差别

    上传镜像

    在这里插入图片描述

    • 打包镜像
      在这里插入图片描述
    • 上传镜像
      在这里插入图片描述
    • 上传成功
      在这里插入图片描述

    删除镜像

    在这里插入图片描述

    • 同步、保持一致
    • 先删镜像,再删容器。-rm、-rmi

    3.配置镜像加速器

    • 在这里插入图片描述
    • 注册阿里云账号,选择容器镜像服务
      在这里插入图片描述
    • 每个账号都有专属的免费镜像加速器
      在这里插入图片描述
      在这里插入图片描述
    • 编写配置文件,指向自己加速器的地址
      在这里插入图片描述
    • 重新加载
      在这里插入图片描述
    • 大文件很快就下载了
      在这里插入图片描述
    • 阿里云镜像与官方镜像同步,给个人用户提供镜像加速器

    私有仓库的搭建

    • 在这里插入图片描述
    • docker公司已经将registry开源,直接拉取
    • 在这里插入图片描述
      在这里插入图片描述
    • 在这里插入图片描述
    • -v 指定 卷(vulume),手动挂接
    • 如果有自动挂接,没有自动创建
    • 容器内默认数据目录
    • 数据持久化到指定目录
      在这里插入图片描述
      在这里插入图片描述
    • 端口映射(前面为宿主机端口,后面为镜像端口)
    • 上传镜像(告诉他上传至本机仓库,否则会传到官方仓库)
    • 把nginx最新版上传到本机5000仓库
      在这里插入图片描述
    • 数据目录内有内容
      在这里插入图片描述
    • 仓库里面多了个nginx镜像
      在这里插入图片描述
    • 改名加标签,推送时告诉往哪儿推

    为仓库添加证书加密功能

    • 若远程,必须要加密
    • 在这里插入图片描述
    • 加密
    • 默认系统自带的openssl版本低
    • 企业7不兼容 --addext
    • 升级openssl的版本
    • 在阿里云搜索openssl11,它和它的依赖库,-3
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 生成证书
    • 必须和证书保持一致reg.westos.org
    openssl11 req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -addext "subjectAltName=DNS:reg.westos.org" -x509 -days 365 -out certs/westos.org.crt
    
    • 1

    在这里插入图片描述

    • 通过该命令生成自签名证书,创建certs目录
    • 域名就是仓库地址
      在这里插入图片描述
      在这里插入图片描述
    • 容器内监听的是443,所以要改。https 443端口
    • 重建registry容器
    docker run -d --name registry -v /opt/registry:/var/lib/registry -p 443:443 -v /root/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key registry
    
    • 1

    在这里插入图片描述

    • 测试上传时,仓库已经被加密,需要证书校验
      在这里插入图片描述
    • 挂接,私钥在那儿
    • -k 忽略校验
    • 找证书
      在这里插入图片描述
    • 再次上传数据
    • 上传ubuntu
    • 去存放证书的目录加载证书
    • 新建虚拟机,安装docker,在server7上
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    仓库认证

    • 删除registry
    docker rm -f registry
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    • 加密+认证
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • push和pull都需要认证
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    企业级仓库harbor

    • 下载并解压harbor
      在这里插入图片描述
    • 修改harbor.yml模板文件配置信息
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 和配置文件中的路径一致
      在这里插入图片描述
      在这里插入图片描述
    • 下载docker-compose,并添加权限
      在这里插入图片描述
      在这里插入图片描述
    • 通过脚本,安装harbor,成功编译
      在这里插入图片描述
    • 这几个容器组成仓库平台,单机上管理多个容器
    • 容器组成镜像仓库,80访问仓库
    • 编排多个容器,对外形成一个整体
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 项目里默认拉取的镜像,把busybox镜像推上去
    • 上传
    • 下载不需要认证
    • 拉取不需要名字
    • 把镜像加速器改为私有仓库
    • 重启镜像生效
    • 从私有仓库下载,匿名上传下载
    • 容器删除,上传的数据还存在
    • 停止并删除所有容器
      在这里插入图片描述
    • 重新部署容器
    • 在这里插入图片描述
      在这里插入图片描述
    • push和pull都需要认证

    镜像扫描

    • 在这里插入图片描述
    • 用来做镜像扫描,每次进容器会升级病毒库
      在这里插入图片描述
    • 进入容器,bash进程与其交互
      在这里插入图片描述
    • 0.26才是最新的
    • 第一次扫描镜像时,本地有个离线的漏洞库,检查漏洞库
      在这里插入图片描述
    • down下漏洞库
    • 扫描就会更新一次,更新完毕出容器
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 放的东西越小,镜像越小越安全
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 扫描是否有漏洞
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    • 没漏洞才快
      在这里插入图片描述
    • 扫描过有漏洞不允许本地仓库下载
    • 从外网下载,镜像签名
      在这里插入图片描述
      在这里插入图片描述
    • 在这里插入图片描述
    • 4443端口需要证书才能连接,做签名
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 相关阅读:
    【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
    mysql中的case when 与 if else
    【Vue】Vue的Mustache插值语法、v-bind指令
    深度学习分析NASA电池数据(1 数据读取)
    tf.compat.v1.global_variables
    Linux :realpath 命令
    时间戳计算年-月-日 时:分
    【目标检测】边界框回归与variances参数的作用
    Vue源码学习(三):<templete>渲染第二步,创建ast语法树
    基于javaweb的嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)
  • 原文地址:https://blog.csdn.net/weixin_44891093/article/details/127790613