Docker-Harbor 私有镜像仓库使用指南
1.用户管理
为项目创建专用用户,并配置权限,确保该用户能够顺利推送镜像到 Harbor 仓库,确保镜像推送操作的安全性和便捷性。
创建完成后可以根据需要选择是否设置为管理员
角色 | 权限描述 | 适用场景 |
系统管理员 | 拥有系统的完全控制权限 | 运维人员,负责 Harbor 的整体管理和维护 |
普通用户 | 创建和管理自己的项目 | 普通开发或运维人员,仅需管理自己的项目 |
2.项目管理
在 Harbor 仓库中新建一个项目,用于分类管理和上传镜像,确保镜像的规范性和可维护性。
项目名称可根据需求自定义,访问级别按需选择,默认为私有模式。如果勾选公开选项,用户无需通过 docker login 即可拉取该项目下的镜像。此处我选择保持默认的私有模式。
项目创建完成后,为项目添加成员
将用户管理创建的用户添加到这个项目中,根据需要选择角色,可以参考以下的角色权限列表
角色 | 权限描述 | 适用场景 |
项目管理员 | 拥有项目的完全控制权限 | 项目负责人或运维人员,负责项目的整体管理。 |
维护人员 | 可以推送和拉取镜像,管理镜像,但不能管理成员 | 开发或运维人员,负责镜像的日常维护。 |
开发者 | 可以推送和拉取镜像,但不能删除镜像或管理项目成员 | 开发人员,负责镜像的构建和推送 |
访客 | 只能拉取镜像,不能推送或管理镜像 | 测试人员或外部用户 |
受限访客 | 只能拉取公开镜像 | 外部用户 |
3.服务器上传镜像到harbor
#查看镜像
[root@docker01 harbor]# docker images | grep nginx
goharbor/nginx-photon v2.12.0 0f2398ddc641 6 months ago 168MB
nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB
#给镜像打标签 liux为创建的项目名 nginx:1.20.1 镜像名
[root@docker01 harbor]# docker tag nginx:1.20.1 192.168.91.52/liux/nginx:1.20.1
[root@docker01 harbor]# docker images | grep nginx
goharbor/nginx-photon v2.12.0 0f2398ddc641 6 months ago 168MB
nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB
192.168.91.52/liux/nginx 1.20.1 c8d03f6b8b91 3 years ago 133MB#在docker服务器上登录harbor
[root@docker01 harbor]# docker login 192.168.91.52 -uliux -pLiux12366Login Succeeded#登录成功后推送镜像到harbor仓库
[root@docker01 harbor]# docker push 192.168.91.52/liux/nginx:1.20.1
The push refers to repository [192.168.91.52/liux/nginx]
91117a05975b: Pushed
8ffde58510c5: Pushed
0dcd28129664: Pushed
4edd8832c8e8: Pushed
6662554e871b: Pushed
e81bff2725db: Pushed
1.20.1: digest: sha256:ee2970c234800c5b5841d20d04b7ddc2a08f8653ce6d3376782c8a48eb61428b size: 1570
镜像已经推送成功啦,我们去harbor仓库看看吧
本期内容就到这里啦,下一期我们将带大家配置 HTTPS 并实现 Harbor 仓库的高可用环境部署,敬请期待!