使用Harbor搭建企业级私有docker仓库(源仓库官网)

2023-04-09 10:55:30 最新游戏资讯 坑剧哥

Harbor一个用于存储Docker镜像的企业级Registry服务。

Harbor核心组件解释

* Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。

* db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。

* UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。

* jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。

* Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。

* Registry:镜像仓库,负责存储镜像文件。

* Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

Harbor和Registry的比较

Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。

只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。

当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。

企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。

kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

部署

1、安装docker

安装docker-ce

yum-utils 提供yum-config-manager工具,devicemapper存储需要device-mapper-persistent-data和lvm2

添加yum源仓库

官方仓库

阿里仓库

安装docker

扩展:安装指定版本的docker

启动docker,设置开机启动docker

官网安装:

配置docker中国镜像加速器,配置后重启docker

详细说明:

2、安装docker-compose

查看版本

3、安装harbor

从github下载harbor:

4、管理

停止,需要进入Harbor目录/usr/local/harbor

修改配置

先停止,然后更新harbor.cfg文件,然后运行prepare,以更新配置

5、登录,默认用户名admin ,密码 Harbor12345,新建一个tomcat7仓库

6、配置docker允许使用http方式访问私仓,不然会在主机登录会出错

7、创建一个镜像并推送到tomcat7仓库

创建dockerfile,这里不把jdk环境打包进镜像,在运行容器时挂载本地jdk环境,以减小镜像大小和提升速度

####格式:私有仓库IP/项目名称/镜像名称:版本号####

push成功,去界面看下

从镜像启动容器,镜像是否正常使用,注意要使用-v参数,挂载本地jdk

我们访问下IP:32770看下

官网安装:

怎么在spring官网上下载spring的jar包, 源代码和文档?

进入spring官网—点击【PROJECTS】菜单项—点击Reference进入下载—下拉滚动条找到【Distribution Zip Files】—点击下载链接—选择需要的版本进行下载即可。

具体操作步骤:

1、打开百度搜索输入 spring官网 ,点击进入其官方网站。

2、进入官网后,点击上方导航中的【PROJECTS】。

3、进入[PROJECTS] 后,右侧有显示目前比较靠前的版本列表,点击【4.3.1.3】d对应的Reference进入下载页面,5.0版本目前不可以。

4、点击进入该下载页面后,可以ctrl+f输入【Distribution Zip Files】。

或者手动下拉IE滚动条找到【Distribution Zip Files】,点击【  】下载链接。

5、点击下载链接进入页面后,可以看到相应的Spring版本,选择自己需要的版本进行下载。

6、此时可以选择一个版本,点击进入后可以到相关下载,目前的文档和jar都在一个包里。

7、下载后的最终结果。

cydia的51源地址是多少

cydia的51源地址:cydia.51ipa.com

提供部分Cydia源地址

178源:apt.178.com

BigBoss源:apt.thebigboss.org/repofiles/cydia

xSellize源:cydia.xsellize.com

HYI源:repo.hackyouriphone.org

多玩源:yuan.duowan.com

电玩巴士源:iphone.tgbus.com/cydia

苹果核源:apt.app111.com

PP助手官方源 :apt.25pp.com

八门神器官方源: apt.zntx.cc

烧饼源:apt.sbtools.me

UU助手官方源:apt.uuhelper.com

XX助手官方源:apt.xxzhushou.com

百度输入法官方源:mi.baidu.com

搜狗输入法官方源:cydia.sogou.com

讯飞输入法官方源: cydia.voicecloud.cn

Activator官方源 :rpetri.ch/repo

Quickdo官方源:cydia.clezz.com

Bitesms官方源 cydia.bitesms.com

Bitesms测试源 test-cydia.bitesms.com

Flex官方源 getdelta.com

自建yum仓库

一、自建yum仓库,分别为网络源和本地源

#1 网络源

#1.1备份默认的yum配置到其他路径

[root@CentOS8 ~]# cd /etc/yum.repos.d

[root@CentOS8 yum.repos.d]# ls

CentOS-AppStream.repo   CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-PowerTools.repo

CentOS-Base.repo        CentOS-Debuginfo.repo  CentOS-HA.repo         CentOS-Sources.repo

CentOS-centosplus.repo  CentOS-Extras.repo     CentOS-Media.repo      CentOS-Vault.repo

[root@CentOS8 yum.repos.d]# mkdir bk;mv *.repo bk

#1.2 配置yum网络源仓库

[root@CentOS8 yum.repos.d]# vi BaseOS.repo

[BaseOS]

name=BaseOS

baseurl=

gpgcheck=1

enabled=1

gpgkey=

[root@CentOS8 yum.repos.d]# vi AppStream.repo

[AppStream]

name=AppStream

baseurl=

gpgcheck=1

enabled=1

gpgkey=

#1.3 安装软件,验证yum

[root@CentOS8 yum.repos.d]# yum repolist

repo idrepo name                                           status

AppStream                                           AppStream                                           5,059

BaseOS                                              BaseOS                                              1,695

[root@CentOS8 yum.repos.d]# yum provides httpd

[root@CentOS8 yum.repos.d]# yum -y install httpd

[root@CentOS8 yum.repos.d]# rpm -qe httpd

httpd-2.4.37-30.module_el8.3.0+561+97fdbbcc.x86_64

#2 本地源(http方式)

#2.1 服务端配置

[root@repo-server ~]#systemctl stop firewalld.service 

[root@repo-server ~]#systemctl status firewalld.service

[root@repo-server ~]#yum -y install httpd --安装httpd服务

[root@repo-server ~]#systemctl enable --now httpd;systemctl status httpd

[root@repo-server ~]#mkdir -pv /var/www/html/centos/8

mkdir: created directory '/var/www/html/centos'

mkdir: created directory '/var/www/html/centos/8'

[root@repo-server ~]#mount /dev/sr0 /var/www/html/centos/8

#2.2 客户端配置

[root@repo-client ~]# cd /etc/yum.repos.d/

[root@repo-client yum.repos.d]# mkdir bk;mv *.repo bk

[root@CentOS8 yum.repos.d]# vi BaseOS.repo

[BaseOS]

name=BaseOS

baseurl=

gpgcheck=1

enabled=1

gpgkey=

[root@CentOS8 yum.repos.d]# vi AppStream.repo

[AppStream]

name=AppStream

baseurl=

gpgcheck=1

enabled=1

gpgkey=

[root@repo-client yum.repos.d]# yum repolist

二、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。

[root@CentOS8 httpd-2.4.46]#rpm -q httpd

package httpd is not installed

[root@CentOS8 ~]#wget -P /usr/local/src 

[root@CentOS8 ~]#cd /usr/local/src/

[root@CentOS8 src]#ls

httpd-2.4.46.tar.bz2

[root@CentOS8 src]#tar xvf httpd-2.4.46.tar.bz2

[root@CentOS8 src]#cd httpd-2.4.46/

[root@CentOS8 httpd-2.4.46]#cat README

[root@CentOS8 httpd-2.4.46]#cat INSTALL

     $ ./configure--prefix=PREFIX

     $ make

     $ makeinstall

     $ PREFIX/bin/apachectlstart

[root@CentOS8 httpd-2.4.46]#yum -y install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config

[root@CentOS8 httpd-2.4.46]#make -j 4  make install

[root@CentOS8 httpd-2.4.46]#echo $?

[root@CentOS8 ~]#/apps/httpd24/bin/apachectl start

[root@CentOS8 bin]#systemctl stop firewalld.service

三、利用 sed 取出ifconfig命令中本机的IPv4地址

[root@CentOS8 ~]#ifconfig ens33 | sed -rn '2s/^[^0-9]+([0-9.]+) .*$/\1/p'

10.0.0.205

四、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符

删除前:

[root@CentOS8 ~]#cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Sun Feb 28 12:11:21 2021

#

# Accessible filesystems, by reference, are maintained under '/dev/disk/'.

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.

#

# After editing this file, run 'systemctl daemon-reload' to update systemd

# units generated from this file.

#

UUID=19cfb9c8-bd59-4c52-8403-70527758bf86 /                       xfs     defaults        0 0

UUID=ccb9e34d-a43a-4276-a697-d8ce684cd699 /bootext4    defaults        1 2

UUID=759de453-b2ff-4553-8e01-e830d2f2468f /dataxfs     defaults        0 0

UUID=84faeb9d-3694-40bb-b0c9-f55047d09799 swap                    swap    defaults        0 0

删除后:

[root@CentOS8 data]#sed -Ei.bak /^#./s/^#.// fstab;more fstab 

#

/etc/fstab

Created by anaconda on Sun Feb 28 12:11:21 2021

#

Accessible filesystems, by reference, are maintained under '/dev/disk/'.

See manpages fstab(5), findfs(8), mount(8) and/orblkid(8) formoreinfo.

#

After editing this file, run 'systemctl daemon-reload'to update systemd

unitsgenerated from this file.

#

UUID=19cfb9c8-bd59-4c52-8403-70527758bf86 /                       xfs     defaults        0 0

UUID=ccb9e34d-a43a-4276-a697-d8ce684cd699 /bootext4    defaults        1 2

UUID=759de453-b2ff-4553-8e01-e830d2f2468f /dataxfs     defaults        0 0

UUID=84faeb9d-3694-40bb-b0c9-f55047d09799 swap                    swap    defaults        0 0

五、处理/etc/fstab路径,使用sed命令取出其目录名和基名

[root@CentOS8 ~]#echo "/etc/fstab" |sed -r 's#(^/.*/)([^/]+/?)#\1#'

/etc/

[root@CentOS8 ~]#echo "/etc/fstab" | sed -rn 's#(.*)/([^/]+)/?#\2#p'

fstab