主页 > 科技新闻 > > 正文

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧
2021-11-01 10:41  新华科技网    我要评论(www.itnewsw.com)

什么是镜像仓库?顾名思义,仓库就是存放东西的场所,而镜像仓库,则是存放容器镜像的场所。在容器化盛行的今天,我们可能会创建很多容器镜像,最开始,这些容器镜像会存放在我们本地的文件系统,后续我们出于共享或分发的目的,会将它们推送到远端的仓库以便被获取。所以对于一些项目来说来说,镜像仓库的选择和使用,是至关重要的。

众所周知,极狐GitLab 是一个成熟、安全的一体化 DevOps 平台,其自身内置了容器镜像仓库功能,也即极狐GitLab Container Registry,用户可以将自身需要的镜像推送至极狐GitLab 镜像仓库,而无需自建镜像仓库或者使用已经采取了各种限制措施的dockerhub。

极狐GitLab 的镜像仓库服务有三个不同级别:实例(Instance)级别、项目级别(Project)以及群组(Group)级别。实例级别需要管理员权限,而项目和群组级别则可以不需要管理员权限即可使用。下面,就来介绍下关于极狐GitLab镜像仓库使用的简单教程。

极狐GitLab 镜像仓库的使用

首先来看项目(Project)级别的镜像仓库使用。项目级别的镜像仓库使用,可以通过每个项目的 Packages & Registries --> Container Registry来找到针对每个项目的镜像仓库的使用。

 

首先需要登录极狐GitLab镜像仓库,使用如下命令:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

在出现的对话框中输入用户名和密码即可登录成功。(密码可以是极狐GitLab用户的登录密码,也可以是极狐GitLab的Personal Access Token。)

可以写一个简单的Dockerfile来构建镜像,并做镜像推送和使用测试:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

其中main.go的内容就是输出一个Hello, 极狐GitLab,我是小马哥!!!。

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

将上述两个文件放在一个新建的空文件目录下,执行如下命令即可开始镜像构建:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

上述几个参数的含义:

registry.gitlab.cn:极狐GitLab镜像仓库的地址

majinghe:极狐GitLab的当前用户

majinghe:极狐GitLab的当前用户

devops:项目名称

0.0.1: 镜像tag

需要注意的是,镜像名称的路径层级最多能达到三层,也就是从项目名称开始,后面最多只能是两层。下面几种是有效的镜像名称写法:

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

是无效的,因为 devops/my/image/test 是四层,超过了三层,推送的时候会提示denied: requested access to the resource is denied:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

填写正确的镜像名称,则可以看到如下构建输出:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

随后即可将上述镜像推送至 devops 这个项目所对应的项目级别的镜像仓库:

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

可以在其他服务器上用如下命令拉取存储在极狐GitLab 镜像仓库中的上述镜像来做测试:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

 

      然后在浏览器中输入 l o c a l h o s t : 9 9 9 9 / j i h u 或者使用 c u r l 命令,可查看输出结果:

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

可以看到存储在极狐GitLab devops项目所对应的镜像仓库中的镜像是可以被使用的。

群组级别的镜像仓库使用

群组级别的镜像仓库使用和项目级别的镜像仓库使用时类似的,可以在 Group --> Packages & Registries --> Container Registry 找到群组级别的镜像仓库服务。登录方式和项目级别的是一致的,即:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

重点在于构建镜像时的镜像名称有所不同,针对群租级别的镜像仓库,其镜像构建时的镜像名称格式如下:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

比如,有一个名为 xiaomage 的群组,下面有一个 cr-demo 的项目,则构建命令为:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

然后,推送至镜像仓库

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

针对于不同项目,只需要替换项目名称和 tag 即可完成镜像构建和推送。最后,可以在群组的镜像仓库中看到推送上来的镜像:

 

GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧

可以看到有两个镜像cr-demo和var-demo,分别对应项目cr-demo和var-demo。

其他与极狐GitLab镜像仓库相关的还有和极狐GitLab CI的集成使用,以及极狐GitLab镜像仓库 API等等,因为篇幅原因,这里不便一一赘述,有兴趣的小伙伴,可以去极狐GitLab的公众号上看看,里面有详细的教程。

总的来说,极狐GitLab镜像仓库使用方便,API丰富,能够为用户提供灵活的镜像仓库解决方案。当然,镜像存储不仅仅是极狐GitLab镜像仓库的功能,还有镜像扫描功能等等,需要大家一起来挖掘。

 



本文标题:GitLab中文版 教程大放送:极狐GitLab镜像仓库的使用技巧
本文链接:https://www.itnewsw.com/a/itnews/2021/1101/315332.html

责任编辑:相东升

Copyright 2014- ITnewsw.com 版权所有 网媒之家营销中心
网站备案号:鲁ICP备18021188号-6 地址:山东济南厚街镇三屯未来科技大厦
涉及版权问题可发邮件到:wangmeizhijia@qq.com 稿件必须原创并授权