首页 > 其他分享 >Docker之Harbor管理仓库

Docker之Harbor管理仓库

时间:2024-12-28 22:32:59浏览次数:7  
标签:itcast 证书 Harbor 仓库 key harbor Docker com

Harbor仓库管理

Harbor的概念:
harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是 Docker Registry的更高级封装

Harbor的特点:
1、天生拥有UI界面
2、基于角色的访问控制
3、支持日志审计(如日志的上传下载)
4、支持漏洞扫描

harbor的基本组件

组件 功能
harbor-adminserver 配置管理中心
harbor-db 数据库
harbor-jobservice 镜像复制
harbor-log 日志操作
harbor-ui Web管理页面和API
nginx 前端代理,负责前端页面和镜像上传/下载转发
redis 会话
registry 镜像存储

harbor安装

1、下载安装包
Harbor官方地址:https://github.com/goharbor/harbor/releases下载最新版安装包
2、准备环境
安装docker-compose
3、生产证书
使用https的方式安装部署Harbor,这样更安全,使用域名

创建证书目录
mkdir -p /tmp/data/cert && cd /tmp/data/cert && ll

生成CA证书私钥

openssl genrsa out ca.key 4096

生成CA证书
调整-subj选项中的值以反映您的组织,如果使用FQDN连接Harbor主机,则必须将其指定为通用名称(CN)属性

openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=xxx/OU=xxx/CN=www.edhug.com" \
 -key ca.key \
 -out ca.crt
这里subj是主题的意思含义如下

C=国家,ST=省(市),L=区(县、市),O=组织机构,OU=组织单位,CN=通用名称,域名

生成服务器证书
证书通常包含一个.crt文件和一个.key文件,例如yourdomain.com.crt和yourdomain.com.key

生成私钥
openssl genrsa -out itcast.harbor.com.key 4096
生成证书签名请求(CSR)
调整-subj选项中的值以反映您的组织。如果使用FQDN连接Harbor主机,则必须将其指定为通用名称(CN)属性,并在密钥和CSR文件名中使用它

openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=itcast/OU=Personal/CN=itcast.harbor.com" \
    -key itcast.harbor.com.key \
    -out itcast.harbor.com.csr

生成一个x509 v3扩展文件
无论您使用FQDN还是IP地址连接到Harbor主机,都必须创建此文件,以便可以为您的Harbor主机生成符合主题备用名称(SAN)和x509 v3的证书扩展要求,替换DNS条目以反映您的域。
``
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=itcast.harbor.com
DNS.2=itcast.harbor
DNS.3=harbor
EOF

生产主机证书
使用该v3.ext文件为您的Harbor主机生成证书,注意将yourdomain.comCRS和CRT文件名中的替换为Harbor主机名。

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in itcast.harbor.com.csr \
    -out itcast.harbor.com.crt
离线安装
接下来我们进行离线安装

进入目录
将Harbor压缩到上传到/usr/local目录,然后进行解压操作

cd /usr/local
解压安装包
解压harbor的安装包

tar -zxf harbor-offline-installer-v2.7.1.tgz
进入目录 然后将harbor.yml.tmp复制一份并该命为harbor.yml

cd harbor
cp harbor.yml.tmpl harbor.yml

标签:itcast,证书,Harbor,仓库,key,harbor,Docker,com
From: https://www.cnblogs.com/Eduhg/p/18638047

相关文章

  • debian12安装docker
    由于众所周知的原因,国内的网络已经没办法直连dockerhub及docker相关的服务,导致国内的机器没有办法安装docker和从docker镜像仓拉取镜像。网上搜了一圈发现了可以有效安装docker的方法,因此记录一下。安装安装镜像源 123456789101112......
  • 已有docker镜像构建过程分析
    转载请注明出处:1.使用dockerhistory进行分析dockerhistory 命令用于查看指定镜像的历史层信息,它显示了镜像创建过程中的每一层,包括创建时间、创建者、大小和注释等信息。查看镜像历史dockerhistorymyimage:latest使用示例:root@controller1:~#dockerim......
  • Dockerfile 常用命令
    常用命令FROM:指定基础镜像。每个Dockerfile必须以FROM指令开始。FROMubuntu:20.04RUN:执行命令并创建镜像层。常用于安装软件包。RUNapt-getupdate&&apt-getinstall-ypython3COPY:将文件或目录从宿主机复制到镜像内。COPY./localfile/path/in/con......
  • Docker的常用命令
    1.基本命令命令描述示例dockerrun创建并启动一个容器dockerrun-itubuntubashdockerps列出当前运行的容器dockerpsdockerps-a列出所有容器,包括未运行的容器dockerps-adockerstop停止一个运行中的容器dockerstop[CONTAINER_ID]dockerst......
  • Dockerfile基本原理
    ###Dockerfile基本原理Dockerfile是一个文本文件,其中包含了所有必要的命令来构建一个有效的Docker镜像。这个文件是用来自动化构建过程的脚本,它告诉Docker如何从基础镜像开始,安装所需的软件包,设置环境变量,以及配置启动的应用程序等。###操作步骤1.**准备基础镜像**:......
  • Ubuntu软件仓库GPG公钥缺失
    问题描述sudoaptupdate...#出现以下警告W:Anerroroccurredduringthesignatureverification.Therepositoryisnotupdatedandthepreviousindexfileswillbeused.GPGerror:http://repository.spotify.comstableInRelease:Thefollowingsignaturesc......
  • Docker之网络优化
    docker的网络连接为什么需要Docker网络?先看下图是不使用docker的网络示意图网络存在的问题:1、使用宿主机网络因为需要转发请求,影响网络效率2、使用宿主机网络需要绑定IP后期迁移机器需要更改IPDocker的网络模式:Docker的网络模式有:bridge模式(桥接)、host模式、contain......
  • 【202】仓库管理系统
     --基于springboot仓库管理系统设计与实现 开发技术栈: 开发语言:Java 开发软件:Eclipse/MyEclipse/IDEA JDK版本:JDK8 后端技术:SpringBoot 前端技术:Vue、Element、HTML、JS、CsS、JQuery 服务器:Tomcat8/9 管理包:Maven 数据库......
  • 4.基于 Couchbase 构建数据仓库的元数据管理方案
    在基于Couchbase构建数据仓库时,元数据管理至关重要,它能够帮助跟踪数据结构、数据源、ETL作业、分区、索引等信息。以下是几个关键步骤和实现思路:1.元数据的定义范围元数据在数仓中的主要用途包括:数据库和表的组织:包括bucket、scope、collection等的定义。数据模型......
  • 常用docker 容器命令
    dockercontainerprune#删除所有停止的容器dockerimageprune#删除未使用的镜像dockervolumeprune#删除未使用的卷进入容器dockerexec-ittdengine/bin/bash退出容器exit复制当前服务器上的文件到指定服务器scp/opt/docker-compose.yml*root@172.16.1.26......