Harbor仓库新特性

自己动手搭建Harbor镜像仓库

  • 官方的安装文档讲的很详细,这里我们推荐使用离线安装,虽然安装包比较大
  • 离线安装包下载地址添加链接描述

离线安装HTTP Harbor

安装之前先安装docker-compose
我们下载玩安装包以后tar xvf harbor-offline-installer-.tgz解压缩,可以看到里边有两个安装脚本prepare.sh和install.sh以及harbor.yml。然后修改harbor.yml中配置参数:

  • 将hostname改为自己的ip
  • 将data_volume改为自己想存放的路径
  • database此参数可以修改为自己的数据库地址,也可以不改harbor会自己创建harbor-db容器
  • http:port可以修改harbor仓库的端口号

配置完参数后我们就可以./install.sh来安装harbor了。当然这时也可以通过传入参数来配置,我们可以使用./install.sh --with-chartmuseum来使我们的harbor可以管理存储chart。执行指令完成后我们可以看到docker-compose已经为我们启动了一些列容器
Harbor仓库新特性_第1张图片

Harbor还可以管理其他的镜像仓库,我们可以配置同步策略(手动或者定时),实现Harbor仓库和其他镜像仓库的交互同步。

  1. 新建目标Harbor仓库新特性_第2张图片
  2. 编辑目标Harbor仓库新特性_第3张图片
  3. 新建规则Harbor仓库新特性_第4张图片

向Harbor批量导入docker镜像

这里我们参考rancher的方法,rancher提供了一个自动化脚本,可以批量导入多个docker image。首先我们要将要导入的docker image打成一个tgz包,打包脚本如下:

#!/bin/bash
IMAGES_LIST=($(docker images | sed '1d' | awk '{print $1":"$2}'))
docker save ${IMAGES_LIST[*]} -o all-images.tar.gz
docker images | sed '1d' | awk '{print $1":"$2}' >> ./all-images.txt

rancher脚本下载地址。推送image到远端Harbor指令如下:./rancher-load-images.sh -l all-images.txt -i all-images.tar.gz -r 172.23.5.71:80/library #仓库地址以及具体的项目

你可能感兴趣的:(kubernetes,docker,容器)