Docker仓库构建:官方仓库、私有仓库及企业级仓库harbor的搭建
harbor
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
项目地址:https://gitcode.com/gh_mirrors/ha/harbor
免费下载资源
·
Docker仓库构建
官方仓库
- 官方仓库,拉取时比较缓慢
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
- 通过该命令生成自签名证书,创建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
- 测试上传时,仓库已经被加密,需要证书校验
- 挂接,私钥在那儿
- -k 忽略校验
- 找证书
- 再次上传数据
- 上传ubuntu
- 去存放证书的目录加载证书
- 新建虚拟机,安装docker,在server7上
仓库认证
- 删除registry
docker rm -f registry
- 加密+认证
- push和pull都需要认证
企业级仓库harbor
- 下载并解压harbor
- 修改harbor.yml模板文件配置信息
- 和配置文件中的路径一致
- 下载docker-compose,并添加权限
- 通过脚本,安装harbor,成功编译
- 这几个容器组成仓库平台,单机上管理多个容器
- 容器组成镜像仓库,80访问仓库
- 编排多个容器,对外形成一个整体
- 项目里默认拉取的镜像,把busybox镜像推上去
- 上传
- 下载不需要认证
- 拉取不需要名字
- 把镜像加速器改为私有仓库
- 重启镜像生效
- 从私有仓库下载,匿名上传下载
- 容器删除,上传的数据还存在
- 停止并删除所有容器
- 重新部署容器
- push和pull都需要认证
镜像扫描
- 用来做镜像扫描,每次进容器会升级病毒库
- 进入容器,bash进程与其交互
- 0.26才是最新的
- 第一次扫描镜像时,本地有个离线的漏洞库,检查漏洞库
- down下漏洞库
- 扫描就会更新一次,更新完毕出容器
- 放的东西越小,镜像越小越安全
- 扫描是否有漏洞
- 没漏洞才快
- 扫描过有漏洞不允许本地仓库下载
- 从外网下载,镜像签名
- 4443端口需要证书才能连接,做签名
GitHub 加速计划 / ha / harbor
23.24 K
4.68 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:2 个月前 )
bccfd5fb
Signed-off-by: stonezdj <stone.zhang@broadcom.com> 22 小时前
d39d9797
Signed-off-by: yminer <miner.yang@broadcom.com>
Co-authored-by: yminer <miner.yang@broadcom.com> 1 天前
更多推荐
已为社区贡献1条内容
所有评论(0)