Harbor私有仓库搭建

Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。

HARBOR

作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

  • 基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
  • 镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
  • 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
  • AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
  • 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
  • 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
  • RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
  • 部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。

1、下载安装包后解压

tar -xf harbor-offline-installer-v2.6.0.tgz -C /opt
cd /opt
mv harbor harbor-v2.6.0
ln -s harbor-v2.6.0 harbor

2、生成证书

mkdir /etc/certs && cd  /etc/certs
openssl genrsa -out ca.key 4096

openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=BeijingYJHZ/L=BeijingYJHZ/O=example/OU=Personal/CN=192.168.175.111" \
 -key ca.key \
 -out ca.crt
 #生成服务器证书
 openssl genrsa -out 192.168.175.111.key 4096

    
openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=BeijingYJHZ/O=example/OU=Personal/CN=192.168.175.111" \
    -key 192.168.175.111.key \
    -out 192.168.175.111.csr
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName =  IP:192.168.175.111
EOF
#使用该v3.ext文件为您的Harbor主机生成证书 
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in 192.168.175.111.csr \
    -out 192.168.175.111.crt

.转换192.168.175.111.crt为192.168.175.111.cert,供Docker使用 Docker守护程序将.crt文件解释为CA证书,并将.cert文件解释为客户端

openssl x509 -inform PEM -in 192.168.175.111.crt -out 192.168.175.111.cert

3.将服务器证书,密钥和CA文件复制到Harbor主机上的Docker certificate文件夹中。您必须首先创建适当的文件夹,客户端都需要这些文件, 有哪些服务器是要通过docker 去访问harbor的都需要创建下面的目录,并且目录的ip名称不变,都是harbor的ip

mkdir -p /etc/docker/certs.d/192.168.175.111/

cp 192.168.175.111.cert /etc/docker/certs.d/192.168.175.111/

cp 192.168.175.111.key /etc/docker/certs.d/192.168.175.111/

cp ca.crt /etc/docker/certs.d/192.168.175.111/

3、配置harbor.yml

cd /opt/harbor
cp harbor.yml.tmpl harbor.yml

vim /opt/harbor/harbor.yml
hostname: 192.168.175.111
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 1800
https:
  # https port for harbor, default is 443
    port: 443
  # The path of cert and key files for nginx
    certificate: /etc/certs/192.168.175.111.crt
    private_key: /etc/certs/192.168.175.111.key
harbor_admin_password: harboradmin
data_volume: /data/harbor/data
log:
 
  local:
   
    location: /data/harbor/log

4、创建目录

mkdir -p /data/harbor/data

mkdir -p /data/harbor/log

5、安装 docker-compose依赖包

yum install docker-compose -y

或者已经下载了docker-compose-linux-x86_64安装文件的

cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose version

6、安装harbor

cd /opt/harbor

./install.sh

#安装后如果有修改配置,就用下面命令重新加载配置

./prepare

7、查看运行状态

[root@localhost harbor]# docker-compose ps

NAME                COMMAND                  SERVICE             STATUS              PORTS

harbor-core         "/harbor/entrypoint.…"   core                running (healthy)

harbor-db           "/docker-entrypoint.…"   postgresql          running (healthy)

harbor-jobservice   "/harbor/entrypoint.…"   jobservice          running (healthy)

harbor-log          "/bin/sh -c /usr/loc…"   log                 running (healthy)   127.0.0.1:1514->10514/tcp

harbor-portal       "nginx -g 'daemon of…"   portal              running (healthy)

nginx               "nginx -g 'daemon of…"   proxy               running (healthy)   0.0.0.0:1800->8080/tcp, :::1800->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp

redis               "redis-server /etc/r…"   redis               running (healthy)

registry            "/home/harbor/entryp…"   registry            running (healthy)

registryctl         "/home/harbor/start.…"   registryctl         running (healthy)

[root@localhost harbor]#

2.docker 添加仓库地址

在两台文件服务器的docker中添添加harbor地址

vim /etc/docker/daemon.json

{

        "graph": "/data/docker",

        "storage-driver": "overlay2",

        "insecure-registries": ["http://192.168.175.111:1800"],

        "registry-mirrors": [

                "https://q2gr04k2.mirror.aliyuncs.com"],

        "exec-opts": ["native.cgroupdriver=systemd"],

        "bip": "172.7.21.1/24",

        "live-restore": true

}

systemctl daemon-reload

systemctl restart docker

验证是否能登录harbor,如果最后打印Login Succeeded 表示登录成功

root@localhost harbor]# docker login 192.168.175.111:1800

Username: admin

Password:

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.

Configure a credential helper to remove this warning. See

https://docs.docker.com/engine/reference/commandline/login/#credentials-store



Login Succeeded

其他访问网站:https://192.168.175.111:1800  看是否能正常登录(浏览器用谷歌,ie可能打不开)

常用命令

docker-compose down         ----停止并卸载harbor服务

docker-compose up -d        ----启动harbor服务

3.4验证推送镜像

创建一个com 的项目。

#下载一个镜像,如

docker pull docker.io/calico/cni:v3.19.4

docker tag docker.io/calico/cni:v3.19.4 192.168.175.111:1800/com/cni:v3.19.4

docker push 192.168.175.111:1800/com/cni:v3.19.4

 如果能推送成功,在harbor网站中能看到,表示harbor的安装配置都正常。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 您可以通过以下步骤来搭建Harbor私有仓库: 1. 安装Docker和Docker-compose 2. 下载Harbor镜像并启动容器 3. 访问Harbor Web界面并进行初始化设置 4. 创建用户帐户并登录 5. 推送和下载镜像 请注意,Harbor的安装和配置可能需要一些技术知识,并且应根据您的系统环境进行适当的调整。有关更详细的信息,请参阅Harbor官方文档。 ### 回答2: Docker是一项非常受欢迎的容器化技术,它使得应用开发和部署非常方便,而Harbor是一款优秀的开源Docker私有仓库软件,它提供了安全、可靠、灵活的私有容器仓库解决方案,是非常适合企业内部使用的仓库软件。 搭建Harbor私有仓库的过程可以分为以下几个步骤: 1. 安装Docker:在安装Harbor之前,你需要先安装好Docker,确保Docker已经正确安装、运行,并且网络已经配置好。 2. 下载并解压Harbor安装包:从Harbor的官方网站(https://goharbor.io/)下载Harbor的安装包,然后解压到指定目录中。 3. 配置Harbor:在解压后的目录中,找到harbor.cfg文件,按照需求修改该文件中的配置选项,例如端口、数据存储目录、认证方式、管理员密码等。 4. 启动Harbor:运行docker-compose up -d命令即可启动Harbor私有仓库,启动后可以使用docker ps命令查看状态。 5. 配置Docker客户端:在启动Harbor后,你需要配置Docker客户端的认证信息,才能访问Harbor仓库。在Docker客户端中使用docker login命令,输入用户名、密码和仓库地址即可。 6. 使用Harbor:在配置完成后,你可以使用docker命令或者Harbor的Web UI界面来管理和使用你的私有仓库了。 总之,在使用Harbor搭建私有仓库时,需要先安装好Docker,并在运行Harbor之前进行配置,配置好认证信息,才能正常访问私有仓库Harbor还提供了丰富的权限管理、镜像管理、日志管理等功能,非常适合用于企业内部应用的私有容器仓库解决方案。 ### 回答3: Docker是一种轻便的容器技术,Harbor是一种用于Docker注册表和管理系统的私有仓库Harbor私有仓库可以极大地方便企业级应用程序的构建、部署和管理,特别适用于A DevOps和微服务架构。要搭建Harbor私有仓库,步骤如下: 第一步,安装Docker和Docker Compose。在安装完Docker后,可以使用以下命令来安装Docker Compose: curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 第二步,下载并安装Harbor私有仓库。从Harbor的官方网站上下载和安装最新版本的Harbor软件包: wget https://api.github.com/repos/goharbor/harbor/releases/latest -O harbor.json RELEASE_VERSION=$(cat harbor.json|jq ".name"|sed 's/"//g') echo "Harbor Version: ${RELEASE_VERSION}" wget https://github.com/goharbor/harbor/releases/download/${RELEASE_VERSION}/harbor-online-installer-${RELEASE_VERSION}.tgz tar zxvf harbor-online-installer-${RELEASE_VERSION}.tgz -C /opt 第三步,创建并编辑Harbor配置文件。在Harbor的安装目录下,创建一个名为harbor.cfg的配置文件: cd /opt/harbor cp harbor.cfg.tmpl harbor.cfg vi harbor.cfg 在配置文件中,指定Harbor的主机名、端口和数据存储路径等细节。你可以调整这些设置来适应你的特定需求。 第四步,启动Harbor容器。使用Docker Compose和Harbor配置文件来创建Harbor的运行环境: docker-compose up -d 第五步,使用浏览器访问Harbor私有仓库。在浏览器中访问http://localhost:8888,你会看到Harbor的登录页面。输入管理员账户和密码,即可进入Harbor管理界面。 第六步,使用Harbor私有仓库。使用Docker Registry API或Docker客户端命令行工具,与你的Harbor私有仓库进行交互。将部署在Harbor私有仓库中的镜像下载并使用在你的应用程序中。 总之,搭建Harbor私有仓库非常不错,它提供了一个安全、集中和可扩展的Docker仓库,并支持自动构建和镜像扫描等高级功能。随着DevOps和微服务的兴起,Harbor私有仓库将成为企业应用的关键组成部分,也值得我们深入探索和研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诉予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值