之前实验室的师兄让我帮忙给服务器上装一个Harbor,花了不少时间,遂记录之,以避坑。

在学习使用Harbor之前,需要了解Docker的使用,可以看看我之前的博客:应用容器引擎-DockerDockerfile详解,在此之后,你还需要知道如何部署一个前后端分离的项目:部署实战-Docker+nginx部署前后端分离项目

@Author:Akai-yuan

@更新时间:2023/2/5

1.harbor-assets下载

Harbor下载链接

红色箭头的是离线下载的压缩文件,已经将一些组件打包好了,不需要自己再去手动install或者pull images等需要连网的操作了。

蓝色箭头下是需要在线安装的压缩文件,需要保证你的虚拟机有网络,现在网上的资料大多数是该类的安装教程。

等待安装中:

2.Harbor安装细则

1.登录虚拟机

2.新建一个存放harbor文件的文件夹

mkdir /home/topview/harbor

3.检查路径

pwd

4.传输tgz压缩文件

执行远程传输文件命令:

注意:这里可以选择直接使用Xftp传输,使用rz指令可能会有乱码文件夹生成,需要手动删除,很麻烦

rz

5.传输完成后检查文件夹是否存在压缩文件

6.执行压缩命令

tar -zxvf harbor-offline-installer-v2.6.2.tgz

7.拷贝harbor的配置文件

cp harbor.yml.tmpl harbor.yml

8.查看文件夹下文件

9.编辑harbor.yml文件

vi harbor.yml

10.开始编辑

点击键盘a键开启修改模式

11.修改配置文件内容

设置端口时记得查看所有的被占用的端口,不要和正在使用的端口重复:

netstat -ntulp

配置文件修改内容:

(1)设置hostname访问地址

(2)设置port端口号,注意避免和占用端口重复

(3)将https注释掉

(4)修改harbor仓库数据目录

此处有两种选择:

(1)采用http协议通信,注释https,只不过此处后面需要给daemon.json文件修改配置

(2)采用https协议,http保留作为兜底防止https失效,不过这样做很麻烦,会需要你去申请证书,步骤非常繁琐,而且容易出错。链接:harbor配置https访问

  ...
hostname: 192.168.1.18 //设置访问地址,可以是ip、主机名,不可以设置为127.0.0.1或localhost
# http related config
http: //启用http
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80 //http默认端口为80
//将https注释掉,以关闭https支持
# https related config
#https: //注释
# https port for harbor, default is 443
# port: 443 //注释
# The path of cert and key files for nginx
# certificate: /your/certificate/path //注释
# private_key: /your/private/key/path //注释
...
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Harbor12345 //harbor登录密码
...
# The default data volume
data_volume: /opt/harbor/data //修改harbor仓库数据目录
...

12.保存

点击左上角 **Esc键 **后,输入 **:wq **再点击 Enter键 保存成功

13.修改daemon.json配置文件

vim /etc/docker/daemon.json

补充具体内容如下:

{
"registry-mirrors": ["https://mg4q1xho.mirror.aliyuncs.com"],
"insecure-registries": ["10.21.23.91:80"]
}

注意添加"insecure-registries": ["10.21.23.91:80"],别忘了前面的逗号。

14.启动安装脚本

./install.sh

15.重新执行,安装成功

16.推送镜像到harbor

首先docker tag

docker tag adoptopenjdk/maven-openjdk8 10.21.23.91:80/library/maven-openjdk8:latest

然后docker push

docker push 10.21.23.91:80/library/maven-openjdk8:latest

此时登录harbor查看镜像是否存在:

镜像可以从DockerHub中找到:

https://hub.docker.com/r/adoptopenjdk/maven-openjdk8

https://hub.docker.com/r/adoptopenjdk/maven-openjdk11

17.制作jdk+maven docker镜像

链接如下:

https://blog.csdn.net/cloud_engineer/article/details/126690346

18.修改域名与ip映射

此处因为涉及到流水线,gitlab-ci.yml配置文件需要从harbor中拉取镜像,所以必须和gitab-ci.yml中的镜像同名。

此处image中就是从harbor中拉取镜像,newharbor.server.topviewclub.cn就是域名,需要修改宿主机中的hosts文件,ip与自定义域名映射起来。

cd /etc
vim hosts

写成ip[空格]域名形式就好

容器镜像仓库-Harbor的安装及踩坑的更多相关文章

  1. 私有容器镜像仓库harbor

    私有镜像仓库Harbor 1.Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用 ...

  2. 企业级Docker容器镜像仓库Harbor的搭建

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

  3. 离线手动部署docker镜像仓库——harbor仓库(HTTPS)

    实验环境: harbor服务器系统:CentOS Linux release 7.5.1804 (Core)harbor服务器IP:10.1.12.114harbor版本:v1.5.0docker版本 ...

  4. docker 镜像仓库 Harbor 部署 以及 跨数据复制

    docker 镜像仓库 Harbor 部署 跨数据复制 Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目 它主要 提供 Dcoker Registry 管理 ...

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

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

  6. 企业级镜像仓库Harbor

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

  7. docker-企业级镜像仓库harbor

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

  8. 企业级Docker镜像仓库Harbor部署与使用

    yum install docker 官网地址:https://docs.docker.com/compose/install/ 运行此命令以下载Docker Compose的当前稳定版本 1 sud ...

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

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

  10. 私有镜像仓库Harbor基础介绍与部署

    企业级私有镜像仓库Harbor 一:介绍 Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为dock ...

随机推荐

  1. 野火 STM32MP157 开发板内核和设备树的编译烧写

    一.环境 编译环境:Ubuntu 版本:18.4.6 交叉编译工具:arm-linux-gnueabihf-gcc 版本:7.4.1 开发板:STM32MP157 pro 烧写方式:STM32Cube ...

  2. JS学习笔记 (五) 函数进阶

    1.函数基础 1.1 函数的基本概念 函数是一段JavaScript代码,只被定义一次,但是可以被调用或者执行许多次.函数是一种对象,可以设置属性,或调用方法. 函数中的参数分为实参和形参.其中,形参 ...

  3. 详解pyautogui模块

    一.安装 pip install pyautogui 或者 pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple pyautogui 二.全 ...

  4. 发布 .NET 7 MAUI / MAUI Blazor 应用到 Windows 应用商店

    .NET MAUI 目前仅允许发布 MSIX 包. 创建签名证书发布到本地传送门 [https://www.cnblogs.com/densen2014/p/16567384.html] 使用 Vis ...

  5. 2022春每日一题:Day 9

    题目:IncDec Sequence 思维题,差分好题,每次区间操作,对应差分a[l]+=v,a[r+1]-=v,在差分数组中一定有一个正负号抵消,那么我们求出差分数组中正数(负数)和,记做s1,s2 ...

  6. phpword 模板文件导出word到服务器 并浏览器下载

    模板文件填充 然后生成新文件 //调用PHPwordrequire_once(ROOTPATH . "inc/vendor/autoload.php"); $phpWord = n ...

  7. win7修改开机动画

    开机动画的修改 首先win7的过场动画是存在于C:\Windows\System32\bootres.dll ,而修改过程动画就需要修改这个dll,我不会改,所以只能用工具美化大师,软媒魔方里面的一个 ...

  8. GO开发工具litelDE的安装与使用

    1.MinGW的下载与安装 地址:http://sourceforge.net/projects/mingw/ 下载安装 D:\Program Files\MinGW 然后打开D:\Program F ...

  9. linux学习相关资料整理

    linux常用指令记录 Python3.9.9安装 supervisor安装与监控nginx 使用supervisor监控mysql supervisor监控tomcat配置文件 nginx-1.22 ...

  10. 2A锂电池充电管理IC,具有恒压/恒流充电模式

    PW4052 是一颗适用于单节锂电池的.具有恒压/恒流充电模式的充电管理 IC.该芯片采用开关型的工作模 式, 能够为单节锂电池提供快速. 高效且简单的充电管理解决方案. PW4052 采用三段式充电 ...