Harbor操作方法:手把手教你玩转这个超好用的容器镜像仓库!
哎,说到容器镜像仓库,大家第一反应可能就是Docker Hub对吧?但是你知道吗,当你真正在企业环境里跑起来之后,Docker Hub那点免费额度根本不够看啊!速度慢、限制多,简直让人抓狂,这时候,Harbor就闪亮登场啦!今天我就来跟大家唠唠Harbor操作方法,保证你看完之后也能轻松上手,不再为镜像管理发愁!

为啥要用Harbor?先说说我的亲身经历
说实话,我第一次接触Harbor的时候,心里还有点忐忑——会不会很难搞啊?结果装完之后发现,嗯,真香!Harbor是VMware开源的企业级容器镜像仓库,它不仅能帮你存储和分发镜像,还自带权限管理、镜像扫描、漏洞检测、日志审计等等一大堆功能,关键是,它是中文友好的,界面看起来也舒服,不像有些工具全是英文,看得我头大。
Harbor操作方法之安装部署篇
好嘞,咱们先从安装说起,Harbor的安装其实没你想的那么复杂,官方提供了离线包和在线包两种方式,我个人推荐离线包,为啥呢?因为在线包下载依赖的时候,那网速……你懂的,急死人!
第一步,去GitHub上下载最新的离线安装包,然后解压到一个目录里。
第二步,进入解压后的目录,找到harbor.yml.tmpl这个文件,复制一份改名为harbor.yml,这个文件就是你的配置文件啦,里面要改的东西不多,主要就是hostname改成你自己的域名或者IP,还有harbor_admin_password改一个安全的密码,哦对了,如果你不想用HTTPS,记得把https那段注释掉,不然会报错的哟!
第三步,运行./install.sh脚本,然后就是等待……等待……再等待……大概几分钟后,看到“✔ ----Harbor has been installed and started successfully----”这行字的时候,恭喜你,搞定了!是不是挺简单的?
Harbor操作方法之项目管理
装好之后,打开浏览器输入你的IP或者域名,就能看到Harbor的登录界面啦,用admin和你设置的密码登录进去,第一件事就是创建项目。
点击“新建项目”,起个名字,myproject”,然后选择访问级别——公开还是私有,这里我要啰嗦一句啊,如果你是在公司内部用,建议选私有,安全第一嘛!公开的话谁都能拉取你的镜像,想想就可怕。
创建完项目之后,你就可以往里面推镜像了,具体怎么推呢?先在命令行里docker login你的Harbor地址,然后docker tag给你的镜像打个标签,最后docker push上去,就这么三步,轻松搞定!
Harbor操作方法之用户权限管理
这个功能我真的要夸一夸!Harbor支持基于角色的访问控制,你可以创建不同的用户,然后给他们分配不同的权限,比如张三只能拉取镜像,李四可以推送和拉取,王五还能删除镜像,这样一来,团队协作的时候就不会乱套了。
操作方法也很简单:进入“系统管理”->“用户管理”,新建用户;然后回到项目里,点“成员”,添加用户并选择角色,几分钟就能搞定,特别适合团队使用。
Harbor操作方法之镜像扫描与垃圾回收
哎呀,这两个功能绝对是运维人员的福音!镜像扫描可以帮你检测镜像里的安全漏洞,垃圾回收则能清理掉那些没用的镜像层,释放存储空间。
镜像扫描的操作方法是:在项目里选中镜像,点击“扫描”,然后等结果就行了,如果发现有高危漏洞,赶紧修复重新推送,别偷懒哦!
垃圾回收稍微麻烦一点,需要先在“系统管理”->“配置管理”里开启read_only模式,然后在“垃圾回收”页面点击“立即清理”,清理完之后记得把read_only关掉,不然没法推送新镜像了,我第一次操作的时候就忘了关,折腾了半天才发现问题所在,尴尬死了……
Harbor操作方法之常见问题排查
用着用着难免会遇到一些问题,我总结几个常见的:
- 推送镜像报错
denied: requested access to the resource is denied——多半是没登录或者权限不够,检查一下docker login和项目成员权限。 - Harbor页面打不开——检查一下容器是否正常运行,
docker-compose ps看看状态。 - 证书错误——如果是自签名证书,需要在Docker的
daemon.json里配置insecure-registries。
最后说几句掏心窝的话
Harbor操作方法其实真的不难,关键是要动手去试,我刚开始的时候也是一头雾水,但折腾了几次之后就越来越顺手了,现在我们的CI/CD流水线里,Harbor已经成了不可或缺的一环,每天推送拉取几百次镜像,稳得很!
如果你还在用Docker Hub或者其他的镜像仓库,真的建议试试Harbor,相信我,用过之后你就回不去了!好了,今天的分享就到这里,希望对大家有帮助,如果有啥问题,欢迎留言交流哈,我看到会尽量回复的!加油,一起把容器玩转起来!