- 1. Harbor概述
- 2. harbor部署
- 检查
docker-compose ps - ">浏览器访问

- 3. harbor基本使用
- 配置http镜像仓库可信任
- 重启docker
systemctl restart docker - 启动harbor 遇到的问题说明:如harbor启动后无法访问,先关闭harbor注意观察harbor的所有容器是否成功关闭,没有关闭使用docker命令关闭,若多次关闭失败使用docker命令强制删除镜像
docker-compose up -d - 检查是否都启动成功
docker-compose ps - 登陆harbor用户
docker login 10.0.0.201 - 推送镜像
docker push 10.0.0.201/library/nginx:v1
1. Harbor概述
Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
官方地址:https://vmware.github.io/ https://vmware.github.io/harbor/cn/
github地址:https://github.com/goharbor/harbor
| 组件 | 功能 |
|---|---|
| harbor-adminserver | 配置管理中心 |
| harbor-db | Mysql数据库 |
| harbor-jobservice | 负责镜像复制 |
| harbor-log | 记录操作日志 |
| harbor-ui | Web管理页面和API |
| nginx | 前端代理,负责前端页面和镜像上传/下载转发 |
| redis | 会话 |
| registry | 镜像存储 |
2. harbor部署
Harbor安装有3种方式:
1、在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
2、离线安装:安装包包含部署的相关镜像,因此安装包比较大
3、OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor
2.1. 安装Docker Compose 部署harbor仓库的依赖
安装Docker Compose
curl -L “https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
下载github下载太慢从阿里镜像上下载
https://mirrors.aliyun.com/docker-toolbox/
# 安装
wget https://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose-Linux-x86_64mv docker-compose-Linux-x86_64-1.21.2.txt /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
官网下载方式:
https://docs.docker.com/compose/install/
2.2. 部署harbor
github下载太慢从国内码云上下载https://gitee.com/mirrors
安装harbor
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.6.1.tgz
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz
tar zxvf harbor-offline-installer-v1.5.1.tgz
cd harbor
# 修改配置文件
vi harbor.cfg
hostname = 10.206.240.188
ui_url_protocol = http
harbor_admin_password = 123456
# 安装
./prepare
./install.sh
检查
docker-compose ps
[root@centos7 harbor]# docker-compose psName Command State Ports-------------------------------------------------------------------------------------------------------------------------------------harbor-adminserver /harbor/start.sh Up (healthy)harbor-db /usr/local/bin/docker-entr ... Up (healthy) 3306/tcpharbor-jobservice /harbor/start.sh Up (healthy)harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcpharbor-ui /harbor/start.sh Up (healthy)nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcpregistry /entrypoint.sh serve /etc/ ... Up (healthy) 5000/tcp
浏览器访问

2.3. harbor启动
3. harbor基本使用
3.1. 推送镜像到harbor 推送方法
3.2. harbor创建推送时所使用的用户
3.3. 将用户添加到仓库权限中
3.4. 配置docker
配置http镜像仓库可信任
vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"insecure-registries": ["http://10.0.0.201"]
}
重启docker
systemctl restart docker
启动harbor 遇到的问题说明:如harbor启动后无法访问,先关闭harbor注意观察harbor的所有容器是否成功关闭,没有关闭使用docker命令关闭,若多次关闭失败使用docker命令强制删除镜像
docker-compose up -d
检查是否都启动成功
docker-compose ps
登陆harbor用户
docker login 10.0.0.201
[root@centos7 ~]# docker login 10.0.0.201
Username: chenjinhang
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
3.5. 推送镜像到harbor仓库
制作仓库使用的tag 并推送到habor仓库
# 制作仓库使用的tag
docker tag nginx:v1 10.0.0.201/library/nginx:v1
推送镜像
docker push 10.0.0.201/library/nginx:v1
[root@centos7 ~]# docker push 10.0.0.201/library/nginx:v1
The push refers to repository [10.0.0.201/library/nginx]
e502281f6f6e: Pushed
329d2d1996d2: Pushed
877b494a9f30: Pushed
v1: digest: sha256:69258a39e7978afdce9b17d2f7009d34e2bc1f8668c22e77b8ac73e9511b0389 size: 953
3.6. 浏览器检查镜像仓库中是否推送成功
3.7. 用户权限说明
对整个harbor具有管理权限
推送 下载 删除 权限
推送 下载 权限


