Harbor平台离线搭建

news2024/11/24 19:53:17

之前我有写过如何搭建harbor以及配置harbor,本文主要讲一下在不联网的情况下如何搭建Harbor平台。

环境:centos 7.9

docker版本:20.10.17

harbor版本:v1.10.10

一、离线安装docker

安装包官方地址:Index of linux/static/stable/x86_64/

1.找一台联网机器下载:

wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.17.tgz

2.将下载的压缩包拷贝到目标服务器后解压:

tar zxf docker-20.10.17.tgz

3.将解压出来的docker文件复制到/usr/bin/目录下

cp docker/* /usr/bin/

4.创建docker.service文件

vi /usr/lib/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

 

[Service]

Type=notify

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker

ExecStart=/usr/bin/dockerd --selinux-enabled=false

ExecReload=/bin/kill -s HUP $MAINPID

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.

# Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

# set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

# kill only the docker process, not all processes in the cgroup

KillMode=process

# restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

 

[Install]

WantedBy=multi-user.target

5. 启动docker

给docker.service文件添加执行权限:

chmod +x /usr/lib/systemd/system/docker.service

重新加载配置文件:

systemctl daemon-reload

启动docker并将docker加入开机自启动:

systemctl start docker

systemctl enable docker

6.查看docker服务状态:

systemctl status docker

docker info

docker version

二、离线安装docker-compose

1.在任意联网的centos机器上安装:

curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-`uname -s`-`uname -m` > /usr/local/share/docker-compose

2.将docker-compose拷贝到目标机器的/usr/bin目录下

3.对docker-compose赋可执行权限:chmod +x /usr/bin/docker-compose

三、离线安装harbor

1. 下载v1.10.10的离线安装包:

Release v1.10.10 · goharbor/harbor · GitHub

2. 拷贝到目标服务器,并解压到/harbor目录

mkdir -p /harbor

tar zxf harbor-offline-installer-版本.tgz -C /harbor

3. 配置harbor.yml

修改hostname,如果不走https,则把https部分注释掉:

hostname: xx.xx.xx.xx

#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

4. 运行harbor安装程序

./install.sh

5.登录harbor

http://ip

6. 如何重启harbor

systemctl stop docker

systemctl start docker

docker-compose up -d

7. 设置harbor开机自启动

编辑:vi /lib/systemd/system/harbor.service

[Unit]

Description=Harbor

After=docker.service systemd-networkd.service systemd-resolved.service

Requires=docker.service

Documentation=http://github.com/vmware/harbor

[Service]

Type=simple

Restart=on-failure

RestartSec=5

ExecStart=/usr/bin/docker-compose -f  /harbor/harbor/docker-compose.yml up

ExecStop=/usr/bin/docker-compose -f /harbor/harbor/docker-compose.yml down

[Install]

WantedBy=multi-user.target

设置开机自启服务并启动harbor

systemctl enable harbor

systemctl start harbor

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/923110.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

麒麟系统上安装 MySQL 8.0.24

我介绍一下在麒麟系统上安装 MySQL 8.0.24 的详细步骤,前提是您已经下载了 mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz 安装包。其实安装很简单,但是有坑,而且问题非常严重!由于麒麟系统相关文章博客较少,导致遇到了…

[MyBatis系列③]动态SQL

目录 1、简介 2、if标签 3、foreach标签 4、SQL抽取 ⭐MyBatis系列①:增删改查 ⭐MyBatis系列②:两种Dao开发方式 1、简介 开发中在MyBatis映射文件配置SQL语句,但是前面配置的都是比较简单的,不涉及稍复杂的业务场景。想要应…

守护进程(精灵进程)

目录 前言 1.如何理解前台进程和后台进程 2.守护进程的概念 3.为什么会存在守护进程 4.如何实现守护进程 5.测试 总结 前言 今天我们要介绍的是关于守护进程如何实现,可能有小伙伴第一次听到守护进程这个概念,感觉很懵,知道进程的概念&…

实验八 网卡驱动移植

【实验目的】 掌握 Linux 内核配置的基本方法,完成对网卡驱动、NFS 等相关功能的配置 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台交叉编译工具:arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行&…

基于labview设备状态监测和故障诊断(一)NI软硬件介绍

随着近代工业逐步向机电一体化方向发展。设备的自动化、智能化、大型化与复杂 化程度的不断提高,设备发生故障给企业所带来的经济损失越来越大,因此对设备的运 行状况进行实时监测和故障诊断势在必行。可以这样说,机械设备的工作状况监测和…

C++设计模式(工厂模式)

文章目录 前言一、什么是工厂模式二、简单工厂模式三、简单工厂模式优点和缺点四、简单工厂适用场景五、简单工厂类的使用总结 前言 本篇文章正式带大家来学习C中的设计模式,这篇文章主要带大家学习工厂模式。 一、什么是工厂模式 工厂模式(Factory P…

洗涤护理门店小程序DIY制作教程

随着移动互联网的快速发展,小程序成为了各行各业推广和服务的新平台。对于干洗店来说,拥有一个专属的洗护小程序不仅可以提升用户体验,还能增加店铺的曝光度和销售额。那么,如何DIY制作一个干洗店洗护小程序呢? 首先&a…

在Ubuntu上安装和设置RabbitMQ服务器,轻松实现外部远程访问

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

【最全】MySQL知识点总结

先简单的大致了解一下,学习知识的目的是运用!!! MySQL是什么? 一种关系型数据库管理系统,也就是说这是用来管理数据库的工具。 SQL相关命令 数据库相关 创建数据库:CREATE DATABASE 数据库名; …

12、Pinia 快速入门

1、什么是Pinia Pinia 是 Vue 的最新 状态管理工具 ,是 Vuex 的 替代品 2、手动添加Pinia到Vue项目 在实际开发项目的时候,关于Pinia的配置,可以在项目创建时自动添加 现在我们初次学习,从零开始: 1.使用 Vite 创建一个空的 Vue3 项目 n…

【JUC系列-02】深入理解CAS底层原理和基本使用

JUC系列整体栏目 内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解CAS底层原理和基本使用https://blog.csdn.net/zhenghuishengq/article/details/132478786 深入理解cas的底层原理和基本使用…

Bootstrap的类container与类container-fluid有什么区别?

阅读本文前建议先阅读下面两篇博文: 怎么样通过Bootstrap已经编译好(压缩好)的源码去查看符合阅读习惯的源码【通过Source Map(源映射)文件实现】 在CSS中,盒模型中的padding、border、margin是什么意思? 以下是Bootstrap的类 container 的盒…

【Java 高阶】一文精通 Spring MVC - 标签库 (八)

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

Android——基本控件(下)(十八)

1. 时钟组件:AnalogClock与DigitalClock 1.1 知识点 (1)掌握AnalogClock与DigitalClock的使用; 1.2 具体内容 package com.example.clockproject;import android.os.Bundle; import android.app.Activity; import android.view…

含泪总结当遇到linux文件系统根目录上的磁盘空间不足怎么办!!

那天写项目代码,cmake编译生成文件的时候给我说磁盘不够了..文件没法生成,因为当时是远程连接的,所以就先断了连接,重启了虚拟机!好家伙重启之后因为内存不够,根本进不到gnu界面,就是想重新扩容…

一篇带你肝完Python逆向为什么要学webpack,学完之后到底又该怎么用?

目录 前言简单示例配置示例深入案例分析 总结 前言 大家好,我是辣条哥! 之前讲了很多关于基础方面的内容,从本章开始辣条我会开始慢慢开始跟大家解析一些进阶知识以及案例 废话不多说今天我们就深入解析一下webpack,我们先聊一下P…

【LeetCode】 双指针,快慢指针解题

1.删除有序数组中的重复项 class Solution {public int removeDuplicates(int[] nums) {int fast 1;int slow 1;for(;fast<nums.length;fast) {if( nums[fast] !nums[fast-1] ) {nums[slow] nums[fast];slow;}}return slow;} } 2.移除元素 class Solution {public int re…

2023年高教社杯 国赛数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 描述 …

【MD5加密结果不一致问题】同一个文本字符串,使用MD5加密之后,得出的加密结果居然不相同

目录 1.1、错误描述 1.2、解决方案 1.3、MD5工具类 1.1、错误描述 今天工作中&#xff0c;遇到一个奇怪的问题&#xff0c;我负责对接第三方的短信发送接口&#xff0c;接口中有一个入参是sign加签字段&#xff0c;根据短信内容进行MD5加密 之后得到&#xff0c;于是我就是…

STM32使用PID调速

STM32使用PID调速 PID原理 PID算法是一种闭环控制系统中常用的算法&#xff0c;它结合了比例&#xff08;P&#xff09;、积分&#xff08;I&#xff09;和微分&#xff08;D&#xff09;三个环节&#xff0c;以实现对系统的控制。它的目的是使 控制系统的输出值尽可能接近预…