Harbor私有化Docker镜像仓储搭建与使用

1,847 阅读2分钟

Harbor私有化Docker镜像仓储搭建

Harbor介绍

Harbor是构建企业级私有Docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。

Harbor:这是VMWare公司提供的一个docker私有仓库构建程序,功能非常强大.

  1. 支持多租户签名和认证
  2. 支持安全扫描和风险分析
  3. 这次日志审计
  4. 基于角色的访问控制
  5. 支持可扩展的API和GUI
  6. Image replication between instances
  7. 国际化做的很好(目前仅支持英文和中文)

Harbor安装部署

准备必要的环境:

Python及pip环境 并检查是否安装docker-compose

Docker-ce环境

vim /etc/docker/daemon.json docker配置

{
  "registry-mirrors": ["https://udd0lbdn.mirror.aliyuncs.com"],#aliyun镜像加速配置
  "insecure-registries": [
    "xxx.xxx.xxx.xxx:port" #配置Harbor仓库地址,配置到IP+端口即可
  ] 
}

下载Harbor准备部署

Harbor github下载地址https://github.com/goharbor/harbor/releases

存放本地服务器即可

修改harbor.yml

运行./install.sh 即可安装

install.sh --help命令,可了解Harbor的其它功能

安装成功后登录

通过配置好的IP+端口进行web访问,账号默认:harbor(登陆后可进行修改) 密码为上图的配置。

登录界面

登录界面

登陆后界面

登陆后界面

上传第一个镜像

准备工作

新建项目,配置项目名称,选择访问级别公开,存储及存储容量安需求配置。

点击项目详情,镜像仓库选项,点击右侧推送镜像按钮即可查看镜像推送示例命令

以推送镜像

先登录到Harbor

(base) [root@ceshi work]# docker login  ip:port
`Authenticating with existing credentials...`
`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
(base) [root@ceshi work]# docker tag 镜像名:标签名(要上传的镜像或IMAGE ID)  ip:port/创建的Harbor项目名/镜像名:标签名

也可将运行的镜像推送到远端,使用docker commit 命令

使用下面的命令进行推送

(base) [root@ceshi work]# docker push ip:port/创建的Harbor项目名/镜像名:标签名