harbor镜像仓库部署
项目介绍
harbor git地址:https://github.com/goharbor/harbor
优点:
- 本身自代 docker 私有仓库
- 支持基于角色的权限管理
- 可视化UI界面
- 定期镜像清理
安装
harbor支持k8s的helm安装和本地安装,选择的安装方式是本地安装。
0. 前置条件
- 需要安装docker并运行
- ### 安装依赖包
- yum install yum-utils device-mapper-persistent-data lvm2
- ### 添加 docker repository.
- yum-config-manager \
- --add-repo \
- https://download.docker.com/linux/centos/docker-ce.repo
- ### 安装docker-ce(社区版),有两种方式:
- 1.使用yum 安装,可以指定版本(推荐,因为如果k8s版本不够高,可能会不兼容最新版本的docker):
- yum makecache fast
- yum install -y --setopt=obsoletes=0 docker-ce-18.09.7-3.el7
- 2.使用脚本一键安装,会安装最新版本:
- curl -fsSL "https://get.docker.com/" | sh
- # 设置docker为开机启动
- systemctl enable docker
- # 运行docker服务
- systemctl start docker
- 需要安装docker-compose
- yum install docker-compose
1. 下载安装包
这里有两个包Harbor offline installer 和 Harbor online installer,两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件,这里选择使用离线安装包。
- wget https://github.com/goharbor/harbor/releases/download/v1.9.2/harbor-offline-installer-v1.9.2.tgz
下载成功,并解压
- tar -zxvf harbor-offline-installer-v1.9.2.tgz
进入解压的目录,并 ls -l
harbor.v1.9.1.tar.gz 里就是 Harbor 用到的镜像
harbor.yml 是这个项目的配置文件
2. 编辑配置文件
harbor.yml 是这个项目的配置文件
1. 修改 hostname 选项
将 hostname 改成本机的网址或IP
hostname = A.B.C.D # 写本机的网址或IP,公网访问要写公网IP
2. http 端口
- http:
- port: 80 # 默认80端口,可根据实际情况修改
3. 数据卷
- data_volume: /huaweidata/harbor # 修改为空间比较大的卷
4. 日志挂载(日志可使用默认地址,不用修改,前提是空间够用)
- # 默认地址为:/var/log/harbor
- log:
- location: /huaweidata/harbor/log/harbor # 修改为空间比较大的卷
3. 运行
修改完配置文件后,运行 ./prepare,它会将harbor.yml中的配置修改应用到docker-compose.yaml中,
然后运行 ./install.sh
运行成功,docker ps 查看,可以看到服务已经起来了。
4. 常用管理命令
停止服务:docker-compose stop
开始服务: docker-compose start
web界面使用
1. 新建项目
新建一个项目,命名为 ycl-test,并设置访问级别为公开。
这里的项目就是一私有化的Docker镜像仓库。
2.上传镜像
1. 修改Docker配置
docker 默认是按 https 请求的,由于搭的私有库是 http 的,所以需要修改 docker 配置,将信任的库的地址写上
修改文件 /etc/docker/daemon.json
- {
- "insecure-registries": [
- "A.B.C.D"
- ]
- }
- #然后重启docker
- systemctl daemon-reload
- systemctl restart docker
- docker-compose stop
- docker-compose start
2. 制作镜像
Dcokerfile文件需要制作,详见下面网站
将 ycl_user 制作成一个私有镜像
docker build -t A.B.C.D/ycl-test/ycl-user:v1 .
3. 上传镜像
- 先登陆私有库
docker login A.B.C.D
- 推送
docker push A.B.C.D/ycl-test/ycl-user:v1
从后台界面就能看到这个镜像了