1、harbor介绍
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
由下面几个组件组成:
proxy:nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载流量
registry:镜像仓库,负责存储镜像文件
核心服务:提供web ui,数据库,token认证,webhook等功能
日志服务
database:用来存储核心服务的一些数据
因为是vmware出品的,所以支持下面几种部署方式
在线安装
离线安装
ova安装,这个直接在vcenter上导入就可以了
官方最小配置
2个cpu
4g内存
40g硬盘,因为是存储镜像的所以推荐硬盘大点
2、部署服务
2.1 安装docker
2.1.1 安装一些必要的系统工具
1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
2.1.2 添加docker镜像源
1 | sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
2.1.3 安装需要的版本
1 | sudo yum list docker-ce --showduplicates |sort -r |
2.1.4 把当前用户加入docker用户组
1 | sudo groupadd docker |
2.1.5 修改配置文件
1 | sudo vim /etc/docker/daemon.json |
insecure-registries:增加私有镜像仓库地址
storage-driver:修改存储驱动,默认安装docker时会自动选择适合的驱动类型
log-driver:使用json日志格式
logs-opts:调整容器单个日志大小,最多保留历史日志数量
graph:修改docker工作目录
2.1.6 启动docker服务
1 | sudo systemctl enable docker |
2.1.7 查看docker确保没有info类信息
1 | docker info |
解决WARNING:
1 | sudo vim /etc/sysctl.conf |
2.2 安装docker-compose:
1 | sudo yum install epel-release -y |
2.3 部署harbor私有镜像仓库
2.3.1 下载Harbor镜像仓库
1 | git clone https://github.com/goharbor/harbor.git |
2.3.2 配置Harbor
1 | vim harbor/make/harbor.yml |
主要修改这两个就可以
2.3.3 用docker-compose部署
1 | cd harbor |
#我部署的是当时的最新版本1.8,但docker-compose.yml文件中的镜像是1.9.0的,而这时还没有1.9.0的镜像,所以要手动修改.yml中的所有镜像为1.8.0版本
1 | docker-compose up |
docker-compose down #关闭
docker-compose restart #重启
2.3.4 配置开机自动启动
1 | /usr/bin/docker-compose -f /work/admin/harbor/make/docker-compose.yml up -d |