harbor搭建与使用

前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub。因为咱们的代码是要放到镜像里的,经过运行容器,便能获取咱们的所有代码,风险很大。因此咱们决定进行私有化的镜像部署。git

通过调研,决定使用harbaor这个开源项目。github

项目介绍

harbor git 地址web

优势:docker

  1. 自己自代 docker 私有仓库
  2. 支持基于角色的权限管理
  3. 支持 LDAP

安装

harbor支持k8s的helm安装和本地安装,我此次先择的安装方式是本地安装。shell

个人运行环境是 Centos7.2。json

0. 前置条件

  1. 须要安装docker并运行
yum install docker   # 安装docker
...
systemctl start docker   # 运行docker服务
  1. 须要安装docker-compose
yum install docker-compose

1. 下载安装包

直接选择编译好的包
在这里插入图片描述svg

这里有两个包Harbor offline installerHarbor online installer,二者的区别的是 Harbor offline installer 里就包含的 Harbor 须要使用的镜像文件。测试

下载成功,并解压spa

tar -zxvf harbor-offline-installer-v1.7.1.tgz

进入解压的目录,并 ls
在这里插入图片描述.net

harbor.v1.7.1.tar.gz 里就是 Harbor 用到的镜像

2. 编辑配置文件

harbor.cfg 是这个项目的配置文件

1. 修改 hostname 先项

将 hostname 改为你本机的网址或IP

hostname = A.B.C.D  # 写你本身的网址或IP,公网访问要写公网IP
2. 支持Http 访问
customize_crt = false

3. 运行

  1. 修改完配置文件后,运行 ./prepare,它会哪所配置文件修改一文件
  2. 运行 ./install.sh

运行成功,docker ps 查看,能够看到服务已经起来了。
在这里插入图片描述

4. 经常使用管理命令

  • 中止服务: docker-compose stop
  • 开始服务: docker-compose start

GUIl界面使用

1. 新建项目

新建一个项目,命名为 ainirobot,并设置访问级别为公开。
在这里插入图片描述

这里的项目就是一私有化的Docker镜像仓库。

上传镜像

1. 修改Docker配置

docker 默认是按 https 请求的,因为我搭的私有库是 http 的,因此须要修改 docker 配置,将信任的库的地址写上
修改文件 /etc/docker/daemon.json

{
  "insecure-registries": [
    "A.B.C.D"
  ]
}

而后重启docker

systemctl restart docker

2. 制做镜像

将 mongo 制做成一个私有镜像, mongo 为我以前从 docker hub 上拉取的镜像。

docker tag mongo A.B.C.D/ainirobot/nebulae_mongo:0.0.1

3. 上传

1. 先登录私有库
docker login A.B.C.D
2. PUSH
docker push A.B.C.D/ainirobot/nebulae_mongo:0.0.1
3. 结果

从后台已经能看到这个镜像了
在这里插入图片描述

推荐

完成了私有库的搭建后,能够再安装一个k8s集群后台管理系统(wayne系统介绍)。