IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Docker管理之7---企业镜像仓库Harbor -> 正文阅读

[游戏开发]Docker管理之7---企业镜像仓库Harbor

Docker管理之7—企业镜像仓库Harbor

一、 Harbor的概述

Harbor是由VMWare公司开源的容器镜像仓库。Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更广泛的应用,Harbor被部署为多个Docker容器,因此可以部署在任何支持 Docker 的 Linux发行版上(registry 为其核心组件)。

1、Harbor的优势

  • 基于角色控制
  • 基于镜像的复制策略
  • 支持LDAP/AD
  • 图像删除和垃圾收集
  • 图像UI
  • 审计
  • RESTful API

2、Harbor的官方地址及组件

https://github.com/goharbor/harbor

harbor的组件

组件功能
harbor-adminserver配置管理中心
harbor-dbmysql数据库
harbor-jobservice负责镜像复制
harbor-log记录操作日志
harbor-uiWeb管理界面和API
nginx前端代理,负责前端页面和镜像上传/下载转发
redis会话
registry镜像存储

二、Harbor的安装部署

1、环境要求

 - linux主机(例如Centos,redhat,ubuntu等)
 - docker版本:17.06.0-ce+
 - docker-compose版本:1.18.0+
 - 服务器硬件要求:最低CPU2核,内存4G,硬盘40G;推荐CPU4核,内存8G,硬盘160G

2、安装Docker-compose

下载地址:https://github.com/docker/compose/releases/;选着自己需要的版本。
或者将docker-compose下载到本地然后上传至服务器上。
	
	cp /tmp/docker-compose-Linux-x86_64 /usr/sbin/       # 上传后将其拷贝至可执行命令目录下/usr/sbin
	chmod +x /usr/sbin/docker-compose-Linux-x86_64    # 附执行权限
	ln -s /usr/sbin/docker-compose-Linux-x86_64 /usr/sbin/docker-compose   # 对其做软连接 
	测试;

在这里插入图片描述

3、安装harbor

下载地址:https://github.com/goharbor/harbor/releases

在这里插入图片描述

因为这些是国外网站,直接在linux服务器上下载非常的慢,所以我将七下载到本地,然后再上传到服务器。
同时我也将我下载好的放到了百度网盘,地址:链接:https://pan.baidu.com/s/1rYY0zJOtE5j9MxBhOoHJcA 
提取码:44ew 

01 安装部署

tar -xf harbor-offline-installer-v2.5.0.tgz -C /usr/local   # 解压到 /usr/local
cd /usr/local/harbor   # 进入解压后的目录
cp harbor.yml.tmpl harbor.yml  # 拷贝配置文件
vim harbor.yml             # 修改配置文件
	hostname: 10.1.1.142           # 此处修改为自己的域名或没域名则用服务器IP
	# http related config
	http:
	  # port for http, default is 80. If https enabled, this port will redirect to https port
	  port: 80             # 此处是http协议的80端口,如果生产使用建议修改为其他端口
	
	# https related config
	# https:                 # 此处是https(加密)协议,如果有域名的证书则可以将此处注释打开
	  # https port for harbor, default is 443
	#  port: 443                 # https协议的端口,有证书需打开此处注释
	  # The path of cert and key files for nginx
	#  certificate: /your/certificate/path      # ssl证书配置路径,需要将其存放证书路径写上,要绝对路径。
	#  private_key: /your/private/key/path   # ssl证书的密钥,需要将其存放密钥的路劲写上,要绝对路径。
	harbor_admin_password: Harbor12345     # web服务登录密码,这里可以修改

	# Harbor DB configuration
	database:    # 数据库相关配置
	  # The password for the root user of Harbor DB. Change this before any production use.
	  password: root123    # 数据库密码
	  # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
	  max_idle_conns: 100    # 最大空闲连接
	  # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
	  # Note: the default number of connections is 1024 for postgres of harbor.
	  max_open_conns: 900    # 最大连接
	
	# The default data volume
	data_volume: /data    # 数据目录
	location: /var/log/harbor   # 日志目录

	# 其他不配不是很重要,这里不做过多解释。

./prepare   # 配置文件修改完成后,执行初始化命令

在这里插入图片描述

执行安装启动
./install.sh  # 在harbor目录下执行命令
	显示这个:? ----Harbor has been installed and started successfully.----   表示安装完成。

查看启动状态:

在这里插入图片描述
web方式查看:

在这里插入图片描述
在这里插入图片描述

4、 harbor的使用

01、配置http镜像可信任(所有docker服务器都需要配置http信任)

harbor默认的推送是https方式:
	docker tag nginx_141 10.1.1.142/library/nginx_141:V1
	docker push 10.1.1.142/library/nginx_141:V1
		此时报错如下:
			The push refers to repository [10.1.1.142/library/nginx_141]
			Get https://10.1.1.142/v2/: dial tcp 10.1.1.142:443: connect: connection refused

所以我们需要在docker服务上配置http可信任。
	[root@k8s3-142 harbor]# cat /etc/docker/daemon.json
		{
		  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
		  "insecure-registries": ["10.1.1.142"],    # 这里需要修改为仓库的http地址或域名,如果有多个则需要用","隔开,例如:"insecure-registries": ["10.1.1.142",“10.1.1.141:8000”], 
		  "log-driver": "json-file",
		  "log-opts": {
		    "max-size": "100m"
		  },
		  "storage-driver": "overlay2"
		}

再次执行推送:
	[root@k8s3-142 harbor]# docker push 10.1.1.142/library/nginx_141:V1
		The push refers to repository [10.1.1.142/library/nginx_141]
		Get http://10.1.1.142/v2/: dial tcp 10.1.1.142:80: connect: connection refused
	同样还是拒绝,原因如下:
		因重启了docker服务,所以harbor也就关闭,只需要将其打开即可:
			docker-compose up -d

再一次推送测试:

在这里插入图片描述

错误提示为没有认证,需要登录仓库。
登录后再测试:

在这里插入图片描述

再继续测试推送看是否成功:

在这里插入图片描述

此时显示以上推送到仓库上。
web界面查看:

在这里插入图片描述

如何使用刚刚推送上去的镜像那,那我再10.1.1.141上拉取刚才的镜像(前提141上也需要配置http信任):
先在10.1.1.141上登录:

在这里插入图片描述

在这里插入图片描述

02 添加项目

在这里插入图片描述

在这里插入图片描述

03 添加用户

在这里插入图片描述
在这里插入图片描述

03 项目上添加用户

在这里插入图片描述

在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:10:32  更:2022-04-22 19:12:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 21:53:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码