当前位置: 首页 > news >正文

Docker的私有仓库部署——Harbor

docker-harbor 私有仓库部署和管理:

harboy:开源的企业级的docker仓库软件。

仓库:私有仓库 公有仓库。

harbor是有图形化的,页面ui展示的一个工具。操作起来很直观。

harbor每个组件都是由容器构建的,所以安装harbor必须要有docker。

docker-compose一键编排,所以也是需要安装的。

harbor:

1、通过角色对权限进行控制,用户和仓库都是基于项目进行组织。不同的用户在不同的项目中拥有不同的权限

2、镜像复制,每个仓库(之间可以通信)之间可以互相复制里面的镜像

A <----- B

NGINX NGINX

HTTP

MYSQL

3、UI界面可以对镜像进行删除,删除了之后也会释放本机的空间

4、图形化界面,可以用浏览器进行访问

5、审计管理,所有对镜像仓库的操作都有记录,用于审计管理


harbor的组件:

1、porxy:nginx的前段页面,nginx的配置中做个反向代理。浏览器不同的请求转发到后端的不同的容器中。

2、Registry:仓库,保存镜像,同时push/pull

3、core services:Harbor的核心功能,对用户进行授权,检测仓库内镜像的变化以及token,根据不同的权限给于不同的token。

4、database:负责存储用户的权限,审计日志,docker镜像的分组信息

5、JOB services 镜像复制

6、log collector 日志收集

以上组件都是由容器运行,docker-compose一键拉取部署。


Harbor 部署 

实验部署:

客户端:  192.168.233.33 DOCKER

服务端:  192.168.233.32 HARBOR DOCKER-COMPOSE

服务端2:192.168.233.33 HARBOR DOCKER-COMPOSE

(1)部署 Docker-Compose 服务

(2) 部署 Harbor 服务 

修改harbor安装的配置文件

vim /opt/harbor/harbor.yml
--5行--修改,设置为Harbor服务器的IP地址或者域名
hostname = 192.168.233.31
--59行--指定管理员的初始密码,默认的用户名/密码是admin/Harbor12345
harbor_admin_password = 12345
把默认密码改为1234566

(3) 启动 Harbor 

cd /usr/local/harbor/
在配置好了 harbor.cfg 之后,执行./prepare      #为 harbor 启动的容器生成一些必要的文件(环境)./install.sh   # 以 pull 镜像并启动容器

 (4)查看 Harbor 启动镜像 

cd /usr/local/harbor/
docker-compose ps##以下命令均在在habor的配置目录下运行
docker-compose up -d      #启动
docker-compose stop       #停止
docker-compose restart    #重新启动

(5)创建一个新项目

1)浏览器访问:http://192.168.233.31登录 Harbor WEB UI 界面

2)输入用户名和密码登录界面后可以创建一个新项目。点击“+项目”按钮

3)填写项目名称为“myproject-test”,点击“确定”按钮,创建新项目

 4)此时可使用 Docker 命令在本地通过 192.168.233.31 来登录和推送镜像。

docker login -u admin -p 123456 http://192.168.233.31
登录Harbor

将镜像打标签

上传镜像到 Harbor

docker push 192.168.233.31/myproject-test/nginx:v10
 下载镜像
docker pull 192.168.233.31/myproject-test/nginx:v10

(5)在 Harbor 界面 myproject-test 目录下可看见此镜像及相关信息 

(6) 在其他客户端上传镜像 

以上操作都是在 Harbor 服务器本地操作。如果其他客户端登录到 Harbor,就会报如下错误。

1)在 Docker 客户端配置操作 

解决办法是:在 Docker server 启动的时候,增加启动参数,默认使用 HTTP 访问。

vim /usr/lib/systemd/system/docker.service
--13行--修改
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.233.31 --containerd=/run/containerd/containerd.sock//重启 Docker,再次登录
systemctl daemon-reload
systemctl restart docker//再次登录 Harbor
docker login -u admin -p 123456 http://192.168.233.31
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Login Succeeded
//将自动保存凭据到/root/.docker/config.json,下次登录时可直接使用凭据登录 Harbor

 创建用户:

角色:

1、先添加用户,用户是一个普通用户,私有项目是无法浏览的

2、要浏览私有项目,必须要项目中添加成员,设定成员的角色

受限访客:只能看,不能上传,也不能下载,也没有其它权限

开发者:可以读写,但是不能删除

维护人员:有读写权限,也可以对项目的权限进行修改

管理员:读写,修改,删除的权限 


再次安装一台Harbor 

再次开启一台主机,按照前面的步骤安装一台Harbor服务器 

复制的过程 :

(1)添加复制对象 

 服务端(要复制的主机):登录Harbor管理员

复制管理=》目标=》+目标=》目标填写

输入对方主机的用户名和密码,URL  等待,进行测试连接,如果没问题就可以确定 

(2)进行项目的选择复制 

 服务端中:

项目=》点击要复制的项目名=》复制 =》 +复制规则

编写好复制规则,进行测试连接,如果无误,就可以确认

 

 

 


http://www.mrgr.cn/news/7157.html

相关文章:

  • 如何轻松有效地将 Windows 10 电脑迁移到 SSD
  • 【Electron】桌面应用开发electron-builder打包报错问题处理
  • 在 FPGA 上实现以太网的“低级”指南
  • WRF-LES与PALM微尺度气象大涡模拟实践技术应用
  • 设计模式六大原则之一的接口隔离原则
  • 前端面试——什么是原型和原型链
  • EasyExcel 导入计算公式导出展示字符串问题(SUM)
  • vue3 多文件下载zip压缩包
  • 基于AT32F421的开源电调项目测试
  • 获取当前时间戳
  • Nginx配置负载均衡
  • 如何使用 Java 中的 API 更改 PDF 纸张大小
  • 『基础』线性代数-1行列式
  • 【吊打面试官系列-Memcached面试题】memcached 能接受的 key 的最大长度是多少?
  • 亚信科技转型持久战:扎根行业大模型,深耕行业数字化
  • 户用光伏项目如何操作?
  • 鸿蒙 点击获取电话号拨打电话 @ohos.telephony.call (拨打电话)
  • 【机器翻译方向】数据集合集!
  • 在JavaScript中,如何实现异步编程?
  • Linux驱动入门实验班——DAC模块驱动(附百问网视频链接)