离线方式对企业级容器镜像仓库Harbor进行搭建



Harbor简述



Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。

官方地址:https://vmware.github.io/harbor/cn/

Harbor三种角色:

Guest:对指定项目只读权限 Developer:开发人员,读写项目的权限 Admin:项目管理,所有权限 Anonymous:当用户未登录时,该用户视为匿名用户,匿名用户不能访问私有项目,只能访问公开项目



Harbor http部署



组件 功能

harbor-adminserver 配置管理中心

harbor-db Mysql数据库

harbor-jobservice 负责镜像复制

harbor-log 记录操作日志

harbor-ui Web管理页面和API

nginx 前端代理,负责前端页面和镜像上传/下载转发

redis 会话

registry 镜像存储

一 Harbor安装

• 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小

• 离线安装:安装包包含部署的相关镜像,因此安装包比较大

• OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor

```
二 docker-compose 安装

1 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2 chmod +x /usr/local/bin/docker-compose
3 docker-compose --version

三 Harbor离线安装

离线安装下载离线包 https://github.com/vmware/harbor/releases

1 tar zxvf harbor-offline-installer-v1.7.5.tgz
2 cd harbor
3 vi harbor.cfg
4 hostname = 主机IP或起个域名(我使用了ip地址192.168.73.136)
5 ui_url_protocol = http
6 harbor_admin_password = 123456
7 ./prepare
8 ./install.sh

四 基本使用

其他docker主机需配置http镜像仓库可信任,才可以进行推送镜像和拉取镜像
vim /etc/docker/daemon.jsom
{"insecure-registries":["IP或者域名"]}
重启docker
systemctl restart docker

登陆

docker login -u admin -p 12345 www.adong.com打标签

docker tag mysql:5.7 www.adong.com/test/mysql:5.7
上传镜像
REPOSITORY字段含义 docker images
第一列:镜像中心仓库
第二列:镜像标记,一个仓库可以有多个标记,不指定默认latest
第三列:镜像ID
第四列:创建时间
第五列:镜像大小
docker push www.adong.com/test/mysql:5.7
镜像中心IP/域名 项目 名称 版本
push 需先登陆
docker login ip 
下载
docker pull reg.lan.com/test/mysql:5.7
查看状态以及日志
日志存放路径 ls /var/log/harbor/
docker-compose ps 查看状态



Harbor HTTPS 部署



一 安装docker-compose1.23

1 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2 chmod +x /usr/local/bin/docker-compose
3 docker-compose version

三 Harbor离线安装

离线安装下载离线包 https://github.com/vmware/harbor/releases

1 tar zxvf harbor-offline-installer-v1.7.5.tgz
2 cd harbor

三 配置自签证书

如果没有权威机构颁发的证书,以下是自签证书的创建

1 mkdir ssl -p
2 cd ssl
3 #1. Create your own CA certificate:
4 openssl req -newkey rsa:4096 -nodes -sha512 -subj "/C=CN/ST=/L=/O=/OU=/CN=www.adong.com" -keyout ca.key -x509 -days 3650 -out ca.crt
5 #2.Generate a Certificate Signing Request:
6 #If you use FQDN like yourdomain.com to connect your registry host, then you must use yourdomain.com as CN (Common Name).
7 openssl req -newkey rsa:4096 -nodes -sha512 -subj "/C=CN/ST=/L=/O=e/OU=/CN=www.adong.com" -keyout www.adong.com.key -out www.adong.com.csr
8 #3.Generate the certificate of your registry host:
9 openssl x509 -req -days 3650 -in www.adong.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.adong.com.crt

四 配置文件设置

刚才第二步解压缩之后,harbor目录下会生成harbor.conf文件,该文件就是Harbor的配置文件,编辑配置文件

 1 vim harbor.cfg
 2 #hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
 3 hostname =www.adong.com
 4 # 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
 5 ui_url_protocol = https
 6 ssl_cert = ./ssl/www.adong.com.crt 7 ssl_cert_key =./ssl/www.adong.com.key 8 #启动Harbor后,管理员UI登录的密码,默认是Harbor12345
 9 harbor_admin_password = 12345

五 安装Harbor

启动 Harbor修改完配置文件后,在的当前目录执行./install.sh,Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动

1 ./prepare
2 ./install.sh 

查看容器是否都启动成功

[[email protected] harbor]# docker-compose ps
       Name                     Command                  State                                    Ports
------------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up (healthy)
harbor-core          /harbor/start.sh                 Up (healthy)
harbor-db            /entrypoint.sh postgres          Up (healthy)   5432/tcp
harbor-jobservice    /harbor/start.sh                 Up
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up (healthy)   127.0.0.1:1514->10514/tcp
harbor-portal        nginx -g daemon off;             Up (healthy)   80/tcp
nginx                nginx -g daemon off;             Up (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp,
                                                                     0.0.0.0:80->80/tcp
redis                docker-entrypoint.sh redis ...   Up             6379/tcp
registry             /entrypoint.sh /etc/regist ...   Up (healthy)   5000/tcp
registryctl          /harbor/start.sh                 Up (healthy) 

六 访问主机配置域名

启动完成后,可以使用域名访问 https://www.adong.com,默认是80 443端口,如果端口占用,可以去修改docker-compose.yml文件中,对应服务的端口映射

windows系统,hosts文件地址:C:\Windows\System32\drivers\etc,Mac系统sudo vi /private/etc/hosts 编辑hosts文件,在底部加入域名和ip,用于解析

192.168.73.136 www.adong.com

七 登录 Web Harbor---https://www.adong.com
当前是自签的证书,不是权威机构颁发,显示不安全的链接,不影响加密
输入用户名admin,默认密码(或已修改密码)登录系统。
项目:新增/删除项目,查看镜像仓库,给项目添加成员、查看操作日志、复制项目等
日志:仓库各个镜像create、push、pull等操作日志
系统管理
用户管理:新增/删除用户、设置管理员等
复制管理:新增/删除从库目标、新建/删除/启停复制规则等
配置管理:认证模式、复制、邮箱设置、系统设置等
其他设置
用户设置:修改用户名、邮箱、名称信息
修改密码:修改用户密码

注意:非系统管理员用户登录,只能看到有权限的项目和日志,其他模块不可见。

用户管理--新建用户--- adong  [email protected]
项目--新建项目--新建一个名称为test的项目,设置不公开。注意:当项目设为公开后,任何人都有此项目下镜像的读权限。命令行用户不需要“docker login”就可以拉取此项目下的镜像。进入新建项目 test --添加成员 test.完毕后,可以用test账户提交本地镜像到Harbor仓库了。

八 其他docker主机配置

如果是使用的权威机构颁发的证书,其他docker主机登录就不用配置以下,因为我是自签证书,因此需要配置

1、因是只签发证书,其他Linux主机没有签发的证书,需要手工添加:

1 mkdir /etc/docker/certs.d/www.adong.com -p
2 scp [email protected]:/root/harbor/ssl/www.adong.com.crt /etc/docker/certs.d/www.adong.com

2、运行命令,更新信任ca

1 update-ca-trust

九 基本使用

登陆harbor

1 docker login -u admin -p 12345 www.adong.com

给镜像打tag
docker tag mysql:5.7 www.adong.com/test/mysql:5.7
上传镜像
REPOSITORY字段含义 docker images
第一列:镜像中心仓库
第二列:镜像标记,一个仓库可以有多个标记,不指定默认latest
第三列:镜像ID
第四列:创建时间
第五列:镜像大小
docker push www.adong.com/test/mysql:5.7
镜像中心IP/域名 项目 名称 版本

下载镜像
docker pull reg.lan.com/test/mysql:5.7
查看状态以及日志
日志存放路径 ls /var/log/harbor/
docker-compose ps 查看状态

原文地址:https://www.cnblogs.com/double-dong/p/11441052.html

时间: 2024-08-01 00:47:50

离线方式对企业级容器镜像仓库Harbor进行搭建的相关文章

私有容器镜像仓库harbor

私有镜像仓库Harbor 1.Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求. 官方地址:https://vmware.github.io/harbor/cn/ 各组件功能如下: harbor-adminserver:配置管理中心 harbor-dbMysql

可能是最详细的部署:Docker Registry企业级私有镜像仓库Harbor管理WEB UI

上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库,但是Docker Registry 作为镜像仓库,连管理界面都没有,甚至连一些运维必备的功能都是缺失的,还有什么 Docker 镜像仓库管理工具呢?这里有一个简单好用的企业级 Registry 服务器 - Harbor,推荐在生产环境上使用. Harbor 简介 Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker registry服务. 它以Docker公司

docker以https方式自建私有镜像仓库harbor

基础环境系统:centos7.4 docker安装安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2安装docker软件包源yum-config-manager --add-repo \https://download.docker.com/linux/centos/docker-ce.repoyum install docker-ce -y 安装docker-compase https://docs.docker.c

企业级私有镜像仓库Harbor

1.安装docker #安装docker $ yum install docker # 安装docker ... $ systemctl start docker # 运行docker服务 $ yum install docker-compose #需要安装docker-compose 2.下载harbor #新下载地址 wget https://github.com/goharbor/harbor/releases/download/v1.9.4/harbor-offline-installe

Docker: vmware企业级docker镜像私服--Harbor的搭建

1.下载harbor,地址https://github.com/vmware/harbor2.进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息     2.1.hostname =10.10.10.10 (这个是harbor所在服务器的ip,不能写127.0.0.1)     2.2.修改邮箱相关信息 3.执行./prepare命令 4.1 Ubuntu:   (sudo vi /etc/default/docker) DOCKER_OPTS="-

私有镜像仓库Harbor基础介绍与部署

企业级私有镜像仓库Harbor 一:介绍 Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理.所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务. Registry是Docker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中.企业可以根据自己的需求,使用Dokcerf

企业级私有仓库,镜像仓库Harbor

Harbor 简介 Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器, 通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源 Docker Distribution. 作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全.提升用户使用 Registry 构建和运行环境传输镜像的效率. Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中,确保数据和知识产权在

离线手动部署docker镜像仓库——harbor仓库(二)

前言: 在<离线手动部署docker镜像仓库--harbor仓库(一)>中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点. 实验环境:harbor服务器系统:CentOS Linux release 7.4.1708 (Core)harbor服务器IP:10.0.0.101harbor版本:v1.5.0docker版本:1.13.1另外为了测试pull镜像,使用了另一台test102机器:10.0.0.102 部署过程: 1.下

企业级镜像仓库harbor搭建(http/https)及使用

1.Habor简介Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本企业需求.2.安装docker-ce1)安装依赖包[[email protected] opt]# yum install -y yum-utils device-mapper-persistent-data lvm22)下