企业级镜像仓库 harbor

前言

a. 本文主要为 Docker的视频教程 笔记。

b. 环境为 CentOS 7.0 云服务器

c. 上一篇:跨 Docker 宿主机网络 overlay 类型

harbor 所具备的 docker-registry 不具备的优势:界面友好,有用户权限划分,删除镜像方便,可以配置 https

下载和安装

主要步骤:下载安装文件并解压,修改配置文件,执行脚本

具体安装步骤可参考 harbor 官方安装文档

由于使用云服务器无法从 github 上下载,先下载到本地后上传至云服务器。注意,如果 ssh 的端口号不是默认,需要在 scp 命令后紧跟 -P 以指定

修改配置文件,将其中的 hostname 为自己服务器的外网 ip 地址,password 部分按需修改。同时需要需要注释 https 部分,否则会报错(如果启用 https,则自动将 http请求重定向到 https):

Error happened in config validation...

ERROR:root:Error: The protocol is https but attribute ssl_cert is not set

教学视频中的配置文件为 harbor.cfg,而我下载下来的为 harbor.yml,但其中的内容大致相同

在本地电脑(Ubuntu 18.04)中准备了镜像,推送到云服务器上。需要先在本地的 Docker 中配置信任该镜像站点(在 /etc/docker/daemon.json 中),在 insecure-registries 数组中添加服务器地址,否则会报 443端口拒绝连接:

还需要使用 docker login 命令登录,否则会报未授权:

成功上传镜像:

注意:上传镜像需要登录,而下载镜像则不需要

配置 https

下载申请到的证书。由于 harbor 的使用 Nginx 服务器,因此只需要 Nginx 的证书即可。将 hostname 改为 证书相匹配的域名将 https 相关的注释去除设置好证书的路径

配置完成后,删除已经运行的容器,重新执行安装脚本 install.sh,之后可以使用域名访问,并可以发现默认使用了 https:

此时,删除 /etc/docker/daemon.json 中的 insecure-registries 配置,重启 Docker 服务。可以正常拉取镜像而不报错:

root@battor-OMEN:/home/battor# docker pull www.example.site/library/busybox_ana@sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421: Pulling from library/busybox_ana

Digest: sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

Status: Downloaded newer image for www.example.site/library/busybox_ana@sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

www.example.site/library/busybox_ana@sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

参考

使用SCP命令上传文件

https://www.cnblogs.com/magicc/p/6490566.html

企业级镜像仓库 harbor的更多相关文章

  1. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  2. Docker: 企业级镜像仓库Harbor的使用

    上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...

  3. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

  4. 企业级镜像仓库Harbor

    介绍: Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面, ...

  5. 使用docker搭建“企业级镜像仓库”Harbor

    一.前沿 docker的官方镜像仓库registry,功能比较单一,不太好用,特别是删除镜像操作,不够友好. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一 ...

  6. 【Docker】企业级镜像仓库harbor的搭建(http/https)及使用

    一:用途 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 二:安装docker-ce 环境:阿里云轻量应用服务器CentOS 7.3 这里通过yum Docker源仓 ...

  7. docker企业级镜像仓库Harbor管理

    Harbor概述 Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括: ...

  8. Docker 企业级镜像仓库 Harbor 的搭建与维护

    目录 一.什么是 Harbor 二.Harbor 安装 2.1.Harbor 安装环境 2.2.Harbor安装 2.3 配置HTTPS 三.Harbor 的使用 3.1.登录Harbor并使用 3. ...

  9. Docker企业级镜像仓库harbor(vmware 中国团队)

    第一步:安装docker和docker-compose 第二步:下载harbor-offline-installer-v1.3.0.tgz 第三步:上传到/opt,并解压 第四步:修改harbor.c ...

随机推荐

  1. Go语言笔记[实现一个Web框架实战]——EzWeb框架(一)

    Go语言笔记[实现一个Web框架实战]--EzWeb框架(一) 一.Golang中的net/http标准库如何处理一个请求 func main() { http.HandleFunc("/& ...

  2. 用SamInside破解Windows登录密码

    用小马PE的USB-HDD+格式制作启动优盘: 笔记本启动时按ESC键,选择USB启动: 进入WinPE后,将%SystemRoot%/system32/config全部拷贝出来(WinXP这个文件夹 ...

  3. Manage Historical Snapshots in Sonarqube

    Login as admin, go to a dashboard of a project, then click "Configuration -> History" a ...

  4. Shell-03-表达式和运算符

    表达式和运算符 条件表达式语句 [ 1 -eq 1 ] [[ 1 -eq 1 ]] test 1 -eq 1 等同于 [ 1 -eq 1 ] [root@satest_192-168-3-121 sh ...

  5. window 右键菜单中添加在vs code 打开

    原文链接: window 右键菜单中添加在vs code 打开 window 右键菜单中添加在vs code 打开 吃码小妖:以前安装VS code可以的,后面不知道为什么不能右键在VS code中打 ...

  6. .NET Core 新特性:发布单文件可执行程序

    一.前言 .NET Core 3.0中新增加了一个特性:Publishing Single EXEs,可以通过dotnet publish 命令将整个.net core应用发布为一个可执行文件. 二. ...

  7. 一 · 路由事件的三种方式/策略(冒泡 直接 隧道)

    WPF中的路由事件是沿着VisualTree传递的,作用是用来调用应用程序的元素树上的各种监听器上的处理程序. (1)冒泡,这种事件处理方式是从源元素向上级流过去,直到到达根节点即顶层节点,一般为最外 ...

  8. 【springboot】 junit 测试

    参考:https://blog.csdn.net/u012100371/article/details/77206863 @RunWith(SpringJUnit4ClassRunner.class) ...

  9. Java程序设计学习笔记(六) — 网络编程

    时间:2016-5-8 02:03 --网络编程        网络传输实际上就是进行数据传输.    一.传输的步骤:        1.对对方IP地址进行定位.        2.将数据打包发送到 ...

  10. 【Google Cloud技术咨询】「Contact Center AI」引领我们走向高度智能客服的时代

    前提背景 我们距离"不再智障"的智能客服还有多远?对于智能客服,用户一直都是"批评多于褒奖",究其原因是在于人们对于AI客服的期待很高,而AI客服在实际应用中的 ...