# Harbor安装配置教程
# 介绍
Harbor 是由 VMware 公司中国团队为企业⽤户设计的 Registry server 开源项⽬,包括了权限管理(RBAC)、LDAP、审计、管理界⾯、⾃我注册、HA 等企业必需的功能,同时针对中国⽤户的特点,设计镜像复制和中⽂⽀持等功能。
作为⼀个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升⽤户使⽤ Registry 构建和运⾏环境传输镜像的效率。Harbor ⽀持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中,确保数据和知识产权在公司内部⽹络中管控。另
外,Harbor 也提供了⾼级的安全特性,诸如⽤户管理,访问控制和活动审计等。
基于⾓⾊的访问控制 - ⽤户与 Docker 镜像仓库通过“项⽬”进⾏组织管理,⼀个⽤户可以对多个镜像仓库在同⼀命名空间(project)⾥有不同的权限。
镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,⾼可⽤,混合云和多云的场景。
图形化⽤户界⾯ - ⽤户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项⽬和命名空间。
AD/LDAP ⽀持 - Harbor 可以集成企业内部已有的 AD/LDAP,⽤于鉴权认证管理。
审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,⽤于审计管理。
国际化 - 已拥有英⽂、中⽂、德⽂、⽇⽂和俄⽂的本地化版本。更多的语⾔将会添加进来。
RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
部署简单 - 提供在线和离线两种安装⼯具,也可以安装到 vSphere 平台(OVA ⽅式)虚拟设备。
# 基础准备
Harbor
需要在Docker与Docker-compose组件上运⾏
安装docker
安装docker-compose
下载ha rbor
# 安装h a r bor
上传到服务器上,进⾏解压操作
tar xvf harbor-offline-installer-v2.
# 配置⽂件修改
拷贝配置⽂件样板
l.l
修改hostname为服务器ip
并注释掉https⽬前先不配置证书
每次修改配置⽂件的后都要重新执⾏prepare否则配置⽂件不⽣效
第⼀次安装就不需要执⾏了
# 启动h a r bor
执⾏启动脚本,会⾃动load镜像并更新变量
./install.sh
查看⼀下当前输出
[Step 0]: checking if docker is installed ...
Note: docker version: 18.09.9
[Step 1]: checking docker-compose is installed ...
Note: docker-compose version: 1.25.0
[Step 2]: loading Harbor images ...
70379f503788: Loading layer [==================================================>]  34.5MB/34.5MB
9c1567ed7ed1: Loading layer [==================================================>]  7.91MB/7.91MB
f0de3a025b59: Loading layer [==================================================>]  3.584kB/3.584kB
cfeb48785a32: Loading layer [==================================================>]  2.56kB/2.56kB
f1a2786f08dc: Loading layer [==================================================>]  62.26MB/62.26MB
50069e2f2d36: Loading layer [==================================================>]  63.08MB/63.08MB
...
...
...
[Step 3]: preparing environment ...
[Step 4]: preparing harbor configs ...
prepare base dir is set to /harbor
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https Generated configuration file: /config/f
Generated configuration file: /config/f
Generated configuration file: /config/log/f
Generated configuration file: /config/f
Generated configuration file: /config/core/env
Generated configuration file: /config/f
Generated configuration file: /config/l
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/l
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/l
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_l
Clean up the input dir
[Step 5]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-portal ... done
Creating redis        ... done
Creating registry      ... done
Creating registryctl  ... done
Creating harbor-db    ... done
Creating harbor-core  ... done
Creating harbor-jobservice ... done
nginx ssl证书配置
Creating nginx            ... done
✔ ----Harbor has been installed and started successfully.----
# 配置h a r bor⽤户
账号和密码可以在配置⽂件中修改
harbor默认账号admin
默认密码Harbor12345
登陆后左侧到系统管理 > ⽤户管理 > 添加⽤户
添加⼀个名为docker的⽤户
根据情况是否设置为管理员
管理员⽤户拥有创建仓库和删除镜像的权限
普通⽤户拥有上传镜像和拉取镜像权限⽆法删除仓库和镜像
镜像仓库需要添加指定⽤户才能使⽤这个库
选择默认镜像仓库为例⼦
到成员选项
刚刚添加名为docker的⽤户不在这个⾥⾯所以没有任何权限
这个项⽬中没有权限上传容器镜像到这个仓库⾥⾯
选择添加⽤户并选择名为docker的⽤户即可
# 配置d ock er
因为没有使⽤SSL验证所以需要配置docker忽略ssl验证,否则⽆法上传容器镜像。到docker.service
我的docker配置⽂件在
vim /usr/lib/systemd/system/docker.service
添加选项
--insecure-registry
[Unit]
Description=Docker Application Container Engine
Documentation=docs.docker
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd \
--insecure-registry=172.16.45.9
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
配置完毕后
systemctl daemon-reload
systemctl restart  docker
docker登陆harbor
docker login 192.168.1.7
输⼊刚刚创建的docker⽤户和密码
# S S L配置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。