Harbor是vmware公司开源的企业级docker registry项目
基于角色控制
基于镜像的复制策略
支持LDAP/AD
图像删除和垃圾收集
图形UI
审计
RESTful API
通过一个前置的反向代理统一接受浏览器,docker客户端的请求,并将请求转发给后端不同的服务
负责储存Docker镜像,并处理docker push/pull命令
Harbor的核心功能,包括UI,webhook,token服务
为core services提供数据库服务
负责收集其他组件的log,供日后进行分析
1、Proxy:通过一个前置的反向代理统一接受浏览器,Docker客户端的请求,
并将请求转发给后端不同的服务。
2、Registry:负责存储 Docker 镜像,并处理 docker push/pull 命令。
3、Core services:Harbor的核心功能,包括 UI、webhook、token 服务。
4、Database:为 core services 提供数据库服务。
5、Log collector:负责收集其他组件的 log,供日后进行分析。
用户请求通过Proxy反向代理访问Core services,UI提供web界面,token令牌,你第一次登录之后服务器会给你一串序列号,下次直接登录就行,你需要下载的镜像信息,属性,都存放在后面的database,再通过webhook回调去registry私有仓库调取镜像。这一系列的操作都存放在日志中。
docker私库服务器 192.168.13.128 (docker 、Harbor 、docker-compose)
docker客户端 192.168.13.129 (docker)
[root@harbor ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/
Password for root@//192.168.100.3/LNMP-C7:
[root@harbor ~]# cd /mnt/
[root@harbor mnt]# cd docker/
[root@harbor docker]# cp docker-compose /usr/local/bin/ ##安装compose编排工具
[root@harbor docker]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/ ##解压
[root@harbor docker]# cd /usr/local/harbor/
[root@harbor harbor]# vim harbor.cfg ##修改harbor配置文件
hostname = 192.168.13.128 ##修改主机为本地地址
harbor_admin_password = Harbor12345 ##harbor密码
[root@harbor harbor]# sh /usr/local/harbor/install.sh ##启动harbor
[root@harbor harbor]# docker images ##镜像信息
[root@harbor harbor]# docker ps -a ##查看容器信息
49b88d8877ae vmware/registry:2.6.2-photon "/entrypoint.sh serv…" 5000/tcp registry
[root@harbor harbor]# docker-compose ps ##容器简易信息
[root@harbor harbor]# docker login -uadmin -p Harbor12345 http://127.0.0.1 ##登录私库
[root@harbor harbor]# docker pull cirros ##从公有下载镜像
[root@harbor harbor]# docker tag cirros 127.0.0.1/myproject-kgc/cirros:v1 ##修改标签
[root@harbor harbor]# docker push 127.0.0.1/myproject-kgc/cirros:v1 ##上传到私库
##在web上访问私库信息
[root@client ~]# vim /usr/lib/systemd/system/docker.service ##修改docker配置文件
ExecStart=/usr/bin/dockerd -H fd:// --nsecure-registry 192.168.13.128 --cont ainerd=/run/containerd/containerd.sock
##添加私有库服务器地址
[root@client ~]# systemctl daemon-reload ##重载守护进程
[root@client ~]# systemctl restart docker ##重启容器
[root@client ~]# docker login -uadmin -pHarbor12345 http://192.168.13.128 ##登录私库
[root@client ~]# docker pull cirros ##从公有仓库下载
[root@client ~]# docker pull 192.168.13.128/myproject-kgc/cirros:v1 ##从私库中下载镜像
[root@client ~]# docker tag cirros:latest 192.168.13.128/myproject-kgc/cirros:v2 ##修改标签
[root@client ~]# docker push 192.168.13.128/myproject-kgc/cirros:v2 ##上传到私库服务器
##用web界面查看
[root@harbor harbor]# docker-compose down -v ##用compose管理关闭所有容器
[root@harbor harbor]# vim harbor.cfg ##根据需要修改配置文件
[root@harbor harbor]# ./prepare ##重新加载生效
[root@harbor harbor]# docker-compose up -d ##开启所有容器
##用client登录
[root@client ~]# docker logout http://192.168.13.128 ##先退出管理员登录
Removing login credentials for 192.168.13.128
[root@client ~]# docker login http://192.168.13.128 ##用新建用户登录
Username: test01
Password:
[root@harbor harbor]# docker-compose down -v ##先关闭所有容器
日志存在宿主机/var/log/harbor上
数据,镜像删除:
rm -rf /data/database/
rm -rf /data/registry/
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。