CentOS7搭建Harbor企业级Docker仓库

centos7搭建Harbor企业级docker仓库

前言

Harbor是一个企业级的Docker Registry管理项目,主要用于存储和分发Docker镜像。它提供了一些企业必需的功能特性,如安全、标识和管理等,以扩展开源Docker Distribution。

作为企业级私有Registry服务器,Harbor提供了更好的性能和安全,并提升了用户使用Registry构建和运行环境传输镜像的效率。

Harbor的主要功能包括基于角色的访问控制、用户管理、日志审核、镜像复制和中文支持等。此外,它还提供了诸如项目、日志、仓库管理、同步管理和配置管理等基本功能。

通过这些功能,Harbor可以帮助用户迅速搭建一个企业级的Docker registry服务,确保数据和知识产权在公司内部网络中得到有效管控。

实验环境Centos7.9.2009

安装docker 24.0.7版本

curl -sSL https://get.daocloud.io/docker | sh
启动docker 
systemctl start docker

安装docker-compose

安装docker-compose的方式有很多种,不推荐一
方式一:
yum update -y
yum -y install epel-release
yum install python-pip
pip install --upgrade setuptools  # 可能由于setuptools版本过低报错
pip install docker-compose  # 如果报错可以试试 --ignore-installed
方式二:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
方式三:
打开浏览器,访问GitHub上的Compose仓库,找到最新版本的链接。
将下载命令中的Compose替换为最新版本,例如
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
方式四:
从github上下载docker-compose的二进制文件
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
docker-compose version
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

安装Harbor1.7.5

wget -P /usr/local/src/     https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.5.tgz  # 在线安装
# 最新版本请查看https://github.com/goharbor/harbor/releases/
cd /usr/local/src/
tar zxf harbor-online-installer-v1.7.5.tgz  -C /usr/local/
cd /usr/local/harbor/
bash install.sh # 使用--with-clair添加镜像漏洞扫描功能
小问题:
➜ Please set hostname and other necessary attributes in harbor.cfg first. DO NOT use localhost or 127.0.0.1 for hostname, because Harbor needs to be accessed by external clients.
Please set --with-notary if needs enable Notary in Harbor, and set ui_url_protocol/ssl_cert/ssl_cert_key in harbor.cfg bacause notary must run under https. 
Please set --with-clair if needs enable Clair in Harbor
Please set --with-chartmuseum if needs enable Chartmuseum in Harbor请先在harbor.cfg中设置主机名和其他必要的属性。不要使用localhost或127.0.0.1作为主机名,因为Harbor需要由外部客户端访问。如果需要,请设置--with公证员在Harbor中启用公证员,并在Harbor.cfg中设置ui_url_procol/ssl_cert/ssl_cert_key,因为公证员必须在https下运行。请设置——如果需要,请使用clair启用clair in Harbor请设置——如果需要,请使用图表博物馆在海港启用图表博物馆
需要修改配置文件Error response from daemon: login attempt to http://myharbor.com/v2/ failed with status: 404 Not Found
修改vim  /etc/hosts
Error response from daemon: Get "http://myharbor.com/v2/": dial tcp 192.168.40.106:80: connect: connection refused

修改配置文件

vim /usr/local/harbor/harbor.cfg  # harbor配置文件# 找到以下项目并且修改
hostname = myharbor.com  # 修改访问域名,如果使用其它端口,请在后面添加端口号,如test.com:8080
#邮箱配置(根据实际账号配置)
email_server = smtp.qq.com
email_server_port = 465
email_username = myharbor@qq.com
email_password = 123456
email_from = myharbor@qq.com  # 经测试发现必须要和email_username相同才可以发邮件
email_ssl = true  # 开启ssl保护,使用端口465,关闭使用端口25
#禁止用户注册
self_registration = off
#设置只有管理员可以创建项目
project_creation_restriction = adminonly
#设置管理员密码
harbor_admin_password = 123456

对Harbor容器集群管理

cd /usr/local/harbor/
docker-compose ps  # 查看harbor集群容器,安装后已经启动
# ---------- 控制 ----------
# 必须要在/usr/local/harbor/目录下,或者-f指定docker-compose.yml
# 启动Harbor
docker-compose start
# 停止Harbor
docker-comose stop
# 重启Harbor
docker-compose restart
# 移除Harbor
docker-compose down -v  # -v 参数移除vloume
# 重新创建并启动
docker-compose up -d
# ---------- 控制 ----------
登录harbor

默认账号是 admin 密码是 Harbor12345

如有需要可以 修改nginx端口
vim /usr/local/harbor/docker-compose.yml
# 把proxy下的80:80改为8080:80则为使用8080访问harbor
docker-compose stop proxy  # proxy其实就是nginx
docker-compose up -d proxy  # 重新开启nginx
netstat -lntp # 查看本地打开端口,如果有docker-proxy为8080则修改成功
# 如果有安全组防火墙,记得先放行对应端口

Harbor上传、下载镜像

# 由于使用80端口需要备案,harbor页面已经修改为8080端口(注意修改harbor.cfg的hostname后需要重新执行install.sh)
vim /etc/docker/daemon.json
# 添加 {"insecure-registries":["myharbor.com"]} 
systemctl daemon-reload  
systemctl restart docker# 注意此处需要添加端口
docker login myharbor.com:80
假如修改了端口则是:
docker login test.com:8080  # 尝试登录# 编写dockerfile
mkdir harbortest && cdharbortest 
cat << EOF > Dockerfile
FROM nginx:latest
MAINTAINER test "test@qq.com"
# 配置环境变量
ENV LANG=C.UTF-8 TZ=Asia/Shanghai
EO
# build镜像
docker build -t myharbor.com:80/library/nginx:latest .
# push镜像到远程仓库
docker push myharbor.com:80/library/nginx:latest
# 从远程仓库拉取镜像
docker pull myharbor.com:80/library/nginx:latest

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

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

相关文章

【iOS】数据持久化(四)之FMDB

正如我们前面所看到的&#xff0c;原生SQLite API在使用时还是比较麻烦的&#xff0c;于是&#xff0c;开源社区就出现了一系列将SQLite API进行封装的库&#xff0c;其中FMDB的被大多数人所使用 FMDB和SQLite相比较&#xff0c;SQLite比较原始&#xff0c;操作比较复杂&#…

近日遇到数据库及其他问题

一、查找备份表和原表不一样数据 select * from A where (select count(1) from A_BAK where A.IDA_BAK.ID) 0 二、在数据量比较大的表中新增有默认值的列速度较慢问题 使用 以下语句&#xff0c;在上亿数据的表中执行速度较慢 alter table TEST add col_a integer DEFA…

如何制作能够提高产品的市场认知度的产品说明书模板?

在当今竞争激烈的市场环境中&#xff0c;产品的市场认知度对于企业的成功至关重要。一个深入人心的产品形象&#xff0c;不仅能提高销售额&#xff0c;还能塑造品牌形象&#xff0c;增强消费者忠诚度。那么如何能有效地提高产品的市场认知度呢&#xff1f;接下来就说一下&#…

MySQL数据被误删怎么办?

文章目录 前言数据备份恢复工具数据备份策略数据备份恢复演示备份数据模拟数据误删恢复备份的数据恢复未备份的数据 总结 前言 很多年前&#xff0c;被公司外派到一家单位驻场开发一个OA项目&#xff0c;两个开发对接各部门的需求&#xff0c;需求还要及时生效&#xff08;一边…

Docker进阶数据卷目录挂载及在线部署

前言 为了很好的实现数据保存和数据共享&#xff0c; Docker 提出了 Volume 这个概念&#xff0c;简单的说就是绕过默认的联合 文件系统&#xff0c;而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷 一. 数据卷介绍 Docker 中的数据卷&#xff08;Volume&#x…

【计算机组成-计算机基本结构】

课程链接&#xff1a;北京大学陆俊林老师的计算机组成原理课 1. 电子计算机的兴起 原因&#xff1a;二战对计算能力的需求世界上第一台通用电子计算机 ENIAC&#xff08;Electronic Numerical Integrator And Computer&#xff09;&#xff1a;时间&#xff1a;1946&#xff1…

Js - 函数(四)

1.函数简单介绍 什么是函数&#xff1f; 函数&#xff08;function&#xff09;是执行特定任务的一段代码块 为什么需要函数&#xff1f; 可以实现代码复用&#xff0c;提高开发效率 2.函数使用 函数的声明语法 函数名命名规范 函数的调用语法 函数体 函数体是函数的构…

数据库开发工具:Navicat Premium 16 (Win/Mac)中文激活版

Navicat Premium 16 是一款强大的数据库管理工具&#xff0c;旨在帮助用户更轻松地管理和维护各种数据库类型。 以下是关于 Navicat Premium 16 的详细介绍&#xff1a; 数据库支持&#xff1a;Navicat Premium 16 支持多种数据库类型&#xff0c;包括 MySQL、PostgreSQL、SQLi…

【vpp2206 测试】

vpp 2206编译# ./extras/vagrant/build.sh # make build # make runstartup-default.conf 的内容cpu {main-core 0 }unix {interactive cli-listen 127.0.0.1:5002log /tmp/vpp.logfull-coredumpstartup-config /home/king/share/vpp/startup.txt }dpdk {uio-driver igb_uiodev…

在Linux下配置Apache HTTP服务器

在Linux的世界里&#xff0c;如果说有什么比解决各种“神秘”的故障更让人头疼&#xff0c;那一定就是配置Apache HTTP服务器了。这不是因为Apache有什么问题&#xff0c;而是因为配置它简直就像解谜游戏&#xff0c;一不留神就会让你陷入无尽的纠结。 首先&#xff0c;你需要…

【AI视野·今日Sound 声学论文速览 第四十五期】Wed, 10 Jan 2024

AI视野今日CS.Sound 声学论文速览 Wed, 10 Jan 2024 Totally 12 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Masked Audio Generation using a Single Non-Autoregressive Transformer Authors Alon Ziv, Itai Gat, Gael Le Lan, Tal Remez, Felix…

Debian/Ubuntu配置aliyun源和安装工具

将 Debian 10 的 apt-get 源更换为 aliyun&#xff0c;以提升国内环境 apt install 的速度。 1&#xff09;备份原 apt-get 源文件 roote3c22f627b9e:~# cd /etc/apt roote3c22f627b9e:/etc/apt# cp sources.list sources.list.bak 2&#xff09;清除原 apt 源文件内容 ro…

解决python画图无法显示中文的问题

python画图遇到的问题&#xff1a; 中文不显示&#xff1a; 解决方法&#xff1a;把字体设置为支持中文的字体&#xff0c;比如黑体 黑体下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1BD7zQEBUfcIs6mC2CPYy6A?pwdv120 提取码&#xff1a;v120 pyhon…

【离散数学】xjtu版离散复习攻略

据学长及同级同学经验&#xff0c;按我校的考察难度&#xff0c;离散数学一天速通不是问题。如果你是正在阅读本篇的学弟/学妹&#xff0c;且复习时间紧张&#xff0c;可考虑把离散放到考前一天来复习。 网络上的资源已经足够详尽&#xff0c;只不过大多数没有介绍自然推理系统…

485总线抢占冲突问题

假如当前有一个主机&#xff0c;和两个从机&#xff0c;主机发送msg1给从机1&#xff0c;10毫秒后&#xff0c;发送msg2给从机2。 然后从机1和从机2都会回复报文给主机&#xff0c;但是如果从机2想要回复给主机的时候&#xff0c;从机1正在发送报文给主机&#xff0c;这时候会怎…

Visual Studio常用快捷键及调试操作

CtrlF10 运行到光标处 调试时候不用一行行按F10了CtrlMM 折叠或展开当前方法CtrlMO 折叠所有方法CtrlML 展开所有方法CtrlEW 自动换行/取消自动换行CtrlU 选中文本转小写CtrlShiftU 选中文本转大写CtrlWinO 启动软键盘F9 光标行加断点CtrlAltB 打开断点窗口 或通过Debug -> …

【发票识别】支持pdf、ofd、图片格式的发票

背景 为了能够满足识别各种发票的功能&#xff0c;特地开发了当前发票识别的功能&#xff0c;当前的功能支持pdf、ofd、图片格式的发票识别&#xff0c;使用到的技术包括文本提取匹配、ocr识别和信息提取等相关的技术&#xff0c;用到机器学习和深度学习的相关技术。 体验 体…

ChatGPT到底能做什么呢?

1、熟练掌握ChatGPT提示词技巧及各种应用方法&#xff0c;并成为工作中的助手。 2、通过案例掌握ChatGPT撰写、修改论文及工作报告&#xff0c;提供写作能力及优化工作 3、熟练掌握ChatGPT融合相关插件的应用&#xff0c;完成数据分析、编程以及深度学习等相关科研项目。 4、…

批量修改文件名-txt_word_ppt批量修改文件名

word/excel/ppt等等批量修改文件名批量修改文件名的方法有N多种,我的这种是比较简单的,小白也可以使用使用windows自带的批处理脚本进行批量重命名什么类型的文件批量修改原理都一样,这里以txt修改为例 1.创建文件测试 通过py脚本快速创建文件测试,这步是创建100个txt文件,这…

【开源】基于JAVA的数据可视化的智慧河南大屏

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏&#xff0c;包含了GDP、…