docker——Harbor概述和构建

docker——Harbor概述和构建,第1张

docker——Harbor概述和构建

目录

一.Harbor的概述

1.harbor的优势

二.部署Harbor服务

1.此时可真机访问serverIP

2.添加项目并填写项目名称

3.通过127.0.0.1来登陆和推送镜像

4.通过本地主机IP来登录

1.解决方法

2.下载镜像进行测试

5.维护管理Harbor

6.创建Harbor用户

7.移除 Harbor 服务容器同时保留镜像数据/数据库


一.Harbor的概述

Harbor被部署为多个Docker容器,因此可以部署在任何支持 Docker 的 Linux发行版上。(registry 为其核心组件)

1.harbor的优势

基于角色控制

基于镜像的复制策略

支持LDAP/AD

图像删除和垃圾收集

图像UI

审计

RESTful API

二.部署Harbor服务
[root@localhost /opt]# systemctl stop firewalld.service 
[root@localhost /opt]# setenforce 0
[root@localhost /opt]# cd /usr/local/
##将docker-compose传到/usr/local目录下
[root@localhost /usr/local]# rz -E
rz waiting to receive.
[root@localhost /usr/local]# ls
bin  docker-compose  etc  games  include  lib  lib64  libexec  mysql  nginx  php  sbin  share  src
[root@localhost /usr/local]# chmod +x docker-compose 
[root@localhost /usr/local]# mv docker-compose /usr/local/bin/

#将harbor-offline-installer-v1.2.2.tgz传入到/root目录下
[root@localhost ~]# rz -E
rz waiting to receive.
[root@localhost ~]# ls
anaconda-ks.cfg  harbor-offline-installer-v1.2.2.tgz  initial-setup-ks.cfg  oyyy.sh
[root@localhost ~]# tar zxf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
[root@localhost ~]# cd /usr/local/harbor/
[root@localhost /usr/local/harbor]# vim harbor.cfg 
  5 hostname = 192.168.68.195 
[root@localhost /usr/local/harbor]# sh /usr/local/harbor/install.sh 

 这就说明harbor软件安装完成

1.此时可真机访问serverIP

2.添加项目并填写项目名称

3.通过127.0.0.1来登陆和推送镜像

此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下,Register 服务器在端口 80 上侦听

[root@localhost /usr/local/harbor]# docker login -u admin -p Harbor12345 http://127.0.0.1
[root@localhost /usr/local/harbor]# docker pull cirros
[root@localhost /usr/local/harbor]# docker tag cirros:latest 127.0.0.1/oyyy/cirros:1 打标签
[root@localhost /usr/local/harbor]# docker push 127.0.0.1/oyyy/cirros:1 

4.通过本地主机IP来登录

以上 *** 作都是在harbor服务器本地 *** 作,如果其他客户端想上传镜像到harbor,需要连接至harbor服务器! 因为,Docker Registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交互时可能会出现错误

1.解决方法

法一

[root@localhost /usr/local/harbor]# vim /usr/lib/systemd/system/docker.service
 13 ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.68.195--containerd=/run/containerd/containerd.sock
[root@localhost /usr/local/harbor]# systemctl daemon-reload
[root@localhost /usr/local/harbor]# systemctl restart docker
[root@localhost /usr/local/harbor]# docker login -u admin -p Harbor12345 http://192.168.68.195

 法二

[root@localhost ~]# cd /etc/docker/
[root@localhost /etc/docker]# vim daemon.json 
{
  "insecure-registries":["http://192.168.68.195"],
  "registry-mirrors": ["https://mf7z1s6m.mirror.aliyuncs.com"]
}
 

 这两种方法不要同时使用,可能会导致冲突,选择其一即可

2.下载镜像进行测试
[root@localhost /usr/local/harbor]# docker pull nginx
[root@localhost /usr/local/harbor]# docker tag nginx:latest 192.168.68.195/oyyy/nginx:v2
[root@localhost /usr/local/harbor]# docker push 192.168.68.195/oyyy/nginx:v2 

5.维护管理Harbor

可以使用 docker-compose 来管理 Harbor。一些有用的命令如下所示,必须在与docker-compose.yml 相同的目录中运行。

[root@localhost /usr/local/harbor]# docker-compose down -v   卸载
[root@localhost /usr/local/harbor]# ./prepare   填充配置
[root@localhost /usr/local/harbor]# docker-compose up -d

6.创建Harbor用户

[root@localhost /usr/local/harbor]# docker logout 192.168.68.195
[root@localhost /usr/local/harbor]# docker login 192.168.68.195
[root@localhost /usr/local/harbor]# docker rmi 192.168.68.195/oyyy/nginx:v2 
[root@localhost /usr/local/harbor]# docker pull 192.168.68.195/oyyy/nginx:v2

7.移除 Harbor 服务容器同时保留镜像数据/数据库
移除 Harbor 服务容器
[root@localhost /usr/local/harbor]# docker-compose down -v
[root@localhost /usr/local/harbor]# cd /data/registry/docker/registry/v2/repositories/
[root@localhost /data/registry/docker/registry/v2/repositories]# tar zcf oyyy.tar.gz oyyy/*

如需重新部署,需要移除 Harbor 服务器全部数据
#docker-compose down -v
#如果需要重新部署,需要移除Harbor服务容器全部数据
#持久数据,如镜像,数据库等在宿主机的/data目录下,日志在宿主机的/var/log/Harbor目录下
rm -rf /data/database
rm -rf /data/registry

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5720330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存