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)进行项目的选择复制 

 服务端中:

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

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值