本文共 2427 字,大约阅读时间需要 8 分钟。
docker harbor有可视化的web管理界面,可以方便管理docker镜像,又提供了多个项目的镜像权限管理及控制功能
harbor是VMware公司开源的企业级docker registry项目1、基于角色控制
2、基于镜像的复制策略 3、支持LDAP/AD 4、图像删除和垃圾收集 5、图形UI 6、审计 7、RESTful API通过一个前置的反向代理统一接收浏览器、docker客户端的请求,并将请求转发给后端的不同服务
负载存储docker镜像,并处理docker push/pull命令
harbor的核心功能,包括UI、webhook、token服务
为core services提供数据库服务
负载收集其他组件的log,供日后进行分析
docker私有仓库架构拓扑图主机 | 操作系统 | IP地址 | 软件 |
---|---|---|---|
server | centos7.6 | 192.168.177.33 | docker、docker-compose、harbor-offline-v.1.1.2 |
client | centos7.6 | 192.168.177.8 | docker |
通过Harbor创建Docker私有仓库
图形化管理Docker私有仓库镜像安装compose
cd /usr/localrz docker-composechmod +x docker-composemv docker-compose /usr/bin安装harbor-offline
rz harbor-offline-installer-v1.2.2.tgztar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/==配置Harbor参数文件==vim /usr/local/harbor/harbor.cfg==第5行修改==hostname = 192.168.184.11
sh /usr/local/harbor/install.sh #安装harbor
docker psdocker images
docker-compose ps
192.168.177.33用户名:admin密码:Harbor12345添加项目并填写名称
#登陆docker login -u admin -p Harbor12345 http://127.0.0.1#下载镜像进行测试docker pull tomcat#镜像打标签docker tag tomcat 127.0.0.1/myproject-edg/tomcat:v1#上传镜像到Harbordocker push 127.0.0.1/myproject-edg/tomcat:v1查看图形化界面
以上操作都是在 Harbor 服务器本地操作。如果其他客户端上传镜像到 Harbor,就会报如下错误。出现这问题的原因 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交互时出现以下错误。解决方法
vim /usr/lib/systemd/system/docker.service添加 --insecure-registry serverIP
systemctl daemon-reloadsystemctl restart docker
docker pull nginxdocker tag nginx:latest 192.168.177.33/myproject-edg/nginx:v1docker push 192.168.177.33/myproject-edg/nginx:v1图形界面查看
修改 Harbor.cfg 配置文件要更改 Harbour 的配置文件时,请先停止现有的 Harbour 实例并更新 Harbor.cfg;然后运行 prepare 脚本来填充配置;最后重新创建并启动 Harbour 的实例。
#卸载docker-compose down -v#编辑配置文件 vim harbor.cfg#填充配置./prepare#启动Harbordocker-compose up -d#如果报错解决思路关闭防火墙、重启dockersystemctl stop firewalldsetenfore 0systemctl restart docker
docker logout 192.168.177.33docker login 192.168.177.33tefuirHarbor12345docker imagesdocker rmi 192.168.177.33/myproject-edg/nginx:v1docker pull 192.168.177.33/myproject-edg/nginx:v1图形化界面访问
在server上操作
docker-compose down -v#如果需要重新部署,需要移除Harbor服务容器全部数据#持久数据,如镜像,数据库等在宿主机的/data目录下,日志在宿主机的/var/log/Harbor目录下rm -rf /data/databaserm -rf /data/registry
转载地址:http://acwli.baihongyu.com/