文章目录
一、Harbor概述
Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的
企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访
问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
官方地址:https://vmware.github.io/harbor/cn/
Github项目地址:https://github.com/goharbor/harbor
安装包下载地址:https://github.com/goharbor/harbor/releases
- Harbor相关组件:
组件 | 功能 |
---|---|
harbor-adminserver | 配置管理中心 |
harbor-db | Mysql数据库 |
harbor-jobservice | 负责镜像复制 |
harbor-log | 记录操作日志 |
harbor-ui | Web管理页面和API |
nginx | 前端代理,负责前端页面和镜像上传/下载转发 |
redis | 会话 |
registry | 镜像存储 |
二、Harbor安装3种方式
- 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
- 离线安装:安装包包含部署的相关镜像,因此安装包比较大
- OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor
三、Harbor安装步骤
3.1 Harbor 1.6.1&1.2.2 安装方法
1.解压缩安装包:tar zxvf harbor-offline-installer-v1.6.1.tgz
2.进入解压软件目录:cd harbor
3.修改配置文件:vi harbor.cfg
修改内容如下:
5 hostname: 192.168.50.143 ## 主机名,可以设置为域名
15 # port: 443
17 #certificate: /your/certificate/path
18 #private_key: /your/private/key/path
34 harbor_admin_password: Harbor12345 ## Web访问密码(默认,可以自行修改)
4.配置:./prepare
5.安装:./install.sh
PS:在1.2.2中第15、17、18行没有,不需要修改
3.2 Harbor 2.1.0安装方法(2020.09.22最新版)
1、下载并安装docker-compose依赖,将软件包放置在/usr/local/bin目录下即可
官方下载地址:curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
cp docker-compose /usr/local/bin/ ## 因为下载太慢,所以这里使用的是离线包
2.为docker-compose添加可执行权限
chmod +x /usr/local/bin/docker-compose
3、解压缩Harbor安装包
tar zxvf harbor-offline-installer-v2.1.0.tgz
4、修改配置文件
vim harbor.yml.tmpl ## 编辑配置文件
5 hostname: 192.168.50.143 ## 生产环境中一般会绑定域名
34 harbor_admin_password: Harbor12345 ## Web登陆密码
5.安装
./install.sh
6.安装完成后直接打开浏览器访问虚拟机IP即可
7.输入用户名密码即可登录(用户名:admin,密码:Harbor12345)
四、Harbor基本操作与使用方法
- 查看服务镜像
docker-compose ps
[root@localhost harbor]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------------
harbor-core /harbor/entrypoint.sh Up (healthy)
harbor-db /docker-entrypoint.sh Up (healthy)
harbor-jobservice /harbor/entrypoint.sh Up (healthy)
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)
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:80->8080/tcp
redis redis-server /etc/redis.conf Up (healthy)
registry /home/harbor/entrypoint.sh Up (healthy)
registryctl /home/harbor/start.sh Up (healthy)
- 配置http镜像仓库可信任:(注意:如果配置的是https则不用添加!)
vim /etc/docker/daemon.json ## 编辑配置文件
添加一行信任授权内容:
{
"registry-mirrors": ["https://1d36drh5.mirror.aliyuncs.com"], ## 注意逗号!
"insecure-registries": ["192.168.50.143"] ## 添加这一行
}
添加完成后重启docker服务: systemctl restart docker
- 启动服务
docker-compose up -d ## -d在后台启动
- 给需要上传的镜像打上标签
格式:docker tag SOURCE_IMAGE[:TAG] 192.168.50.143/library/REPOSITORY[:TAG]
修改后执行:docker tag nginx:latest 192.168.50.143/library/nginx:v1
docker login 192.168.50.143
Username: testuser ## 输入用户名
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 ## 提示登录成功
- 使用命令推送镜像到仓库
docker push 192.168.50.143/library/nginx:v1
- 下载仓库中镜像
docker pull 192.168.50.143/library/nginx:v1
- 退出登陆镜像仓库
docker logout 192.168.50.143