Harbor简述前端
Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而得到了更加普遍的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以知足基本企业需求。node
官方地址:https://vmware.github.io/harbor/cn/mysql
Harbor三种角色:nginx
Guest:对指定项目只读权限 Developer:开发人员,读写项目的权限 Admin:项目管理,全部权限 Anonymous:当用户未登陆时,该用户视为匿名用户,匿名用户不能访问私有项目,只能访问公开项目git
Harbor http部署github
组件 功能redis
harbor-adminserver 配置管理中心sql
harbor-db Mysql数据库docker
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.json
{"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 www.adong.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
查看容器是否都启动成功
[root@localhost 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 Test@123
项目--新建项目--新建一个名称为test的项目,设置不公开。注意:当项目设为公开后,任何人都有此项目下镜像的读权限。命令行用户不须要“docker login”就能够拉取此项目下的镜像。进入新建项目 test --添加成员 test.完毕后,能够用test帐户提交本地镜像到Harbor仓库了。
八 其余docker主机配置
若是是使用的权威机构颁发的证书,其余docker主机登陆就不用配置如下,由于我是自签证书,所以须要配置
一、因是只签发证书,其余Linux主机没有签发的证书,须要手工添加:
1 mkdir /etc/docker/certs.d/www.adong.com -p
2 scp root@192.168.73.136:/root/harbor/ssl/www.adong.com.crt /etc/docker/certs.d/www.adong.com
二、运行命令,更新信任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 www.adong.com/test/mysql:5.7查看状态以及日志日志存放路径 ls /var/log/harbor/docker-compose ps 查看状态