GitLab Container Registry
通过将GitLab Container Registry集成到GitLab中,每个项目都可以拥有自己的空间来存储其Docker镜像。
1. 启用Container Registry
如果在你的项目的侧边栏下找不到 Packages > Container Registry 这个目录,那么请联系管理员。
如果你使用的是GitLab.com,那么默认情况下此功能是启用的,因此可以立即开始使用Registry。当前,作为仓库大小限制的一部分,GitLab.com上的Registry有一个较小的大小限制(10GB)。
为了启用Container Registry :
- 进入Settings > General页面
- 展开Visibility, project features, permissions区域,并在项目上启用Container Registry特性
- 点击Save changes
2. 构建并推送镜像
假设Registry的URL是registry.example.com,首先你应该登录
docker login registry.example.com
构建和发布镜像应该是一个简单的过程。只需确保你使用的Registry URL的命名空间和项目名称是托管再GitLab上:
docker build -t registry.example.com/group/project/image .
docker push registry.example.com/group/project/image
项目命名格式:
<registry URL>/<namespace>/<project>/<image>
GitLab最多支持三级的镜像仓库名称
下面这些镜像tag命名都是有效的:
registry.example.com/group/project:some-tag
registry.example.com/group/project/image:latest
registry.example.com/group/project/my/image:rc1
3. 使用GitLab Container Registry中的镜像
docker run [options] registry.example.com/group/project/image [arguments]
4. 使用GitLab CI构建和推送镜像
GitLab CI/CD 允许你使用Docker Engine来构建和测试基于docker的项目。
持续集成和部署是一种趋势:
- 创建一个应用镜像
- 为这个镜像运行测试
- 推送镜像到远程注册中心
- 将推送的镜像部署到服务器上
docker build -t my-image dockerfiles/
docker run my-image /script/to/run/tests
docker tag my-image my-registry:5000/my-image
docker push my-registry:5000/my-image
Register Docker Runner
sudo gitlab-runner register \
--url"https://gitlab.example.com/" \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--description"docker-ruby:2.6" \
--executor "docker" \
--docker-image ruby:2.6 \
--docker-services postgres:latest \
--docker-services mysql:latest
5. Docs
https://docs.gitlab.com/ee/user/packages/container_registry/index.html
https://docs.gitlab.com/ee/administration/packages/container_registry.html
https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
GitLab Container Registry的更多相关文章
- 使用 Azure Container Registry 储存镜像
Azure Container Registry(容器注册表)是基于 Docker Registry 2.0规范的托管专用 Docker 注册表服务. 可以创建和维护 Azure 容器注册表来存储与管 ...
- 远程办公的GitLab开源的员工手册:涵盖了公司价值观,内部沟通交流指南,开发流程,如何开会,写作风格指南,如何报销,如何请假,线上办公工具推荐等方方面面
原文 :https://docs.gitlab.com.cn/ce/ 英文 :https://about.gitlab.com/handbook/ GitLab Community Edition G ...
- Docker安装GitLab与Runner(网关),常规设置,自动化用到k8s+token
[转]图文详解k8s自动化持续集成之GitLab CI/CD Windows里面使用Debian命令行工具完成 和Docker网络相关的命令 查看某一个容器的网络 docker inspect 容器I ...
- 生产环境中使用Docker Swarm的一些建议
译者按: 实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行.然而,面对Kubernetes, Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它 ...
- Azure Container Registry-基于开源 Docker Registry 的专用 Docker 注册表服务
本文语雀知识库:https://www.yuque.com/seanyu/azure/acr 概述 Azure 容器注册表(Azrue Container Registry,简称ACR)是 Azure ...
- docker中建立私有git服务器[gitlab]
现在使用git的很普遍,在开发内部如何建立个git服务器,本文以gitlab为例,让你分分钟就可以搭好一个环境[docker的威力非同一般] 首先在docker.com找到gitlab的下载源和信息, ...
- Jenkins + Ansible + Gitlab之gitlab篇
前言 持续交付 版本控制器:Gitlab.GitHub 持续集成工具:jenkins 部署工具:ansible 课程安排 Gitlab搭建与流程使用 Ansible环境配置与Playbook编写规范 ...
- Gitlab 备份迁移恢复报错gtar: .: Cannot mkdir: No such file or directory
1. 版本信息 OS: centos 6.9 Gitlab: gitlab-ce.10.7.4 gitlab-ce.10.8.0 gitlab-ce.10.8.3 gitlab-ce.10.8.4 2 ...
- Gitlab备份和恢复操作记录
前面已经介绍了Gitlab环境部署记录,这里简单说下Gitlab的备份和恢复操作记录: 1)Gitlab的备份目录路径设置 [root@code-server ~]# vim /etc/gitlab/ ...
随机推荐
- 「 从0到1学习微服务SpringCloud 」06 统一配置中心Spring Cloud Config
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 「 从0到1学习微服务S ...
- Nginx配置及负载均衡
转载:http://www.cnblogs.com/jingmoxukong/p/5945200.html nginx简易教程 目录 Nginx 概述 安装与使用 nginx 配置实战 参 ...
- Linux 安装Jenkins
1.安装jdk1.8 下载地址:https://github.com/frekele/oracle-java/releases 下载 root@123:~/my_java# wget https:// ...
- pycharm 选中单列快捷键
直接键入 Alt + Shift +Insert 一次后就可以选中单列 再次键入就改回选中整行 如图: 第一键入 第二次键入
- Leetcode 题目整理-7 Remove Element & Implement strStr()
27. Remove Element Given an array and a value, remove all instances of that value in place and retur ...
- 在一个Activity中循环使用一组RadioGroup
一个activity是用来做题用的,效果如下图 在点击下一题时,RadioGroup会默认为第一次选中的状态,造成RadioButton选择混. 解决方案: 第一步:取消监听 radioGroup_p ...
- vuex之state(一)
我的理解 个人认为,不用说得太过深奥,vuex其实就是把一个应用的某些数据统一管理起来,以便其他的组件更方便的操作该数据. 为什么使用vuex 当项目结构越来越复杂,组件的多层嵌套使得数据传递非常繁琐 ...
- 优雅地关闭worker进程
关闭nginx两种方式 nginx -s stop 立即停止nginx进程 nginx -s quit 优雅地关闭worker进程 开始优雅的关闭worker进程后 01设置定时器 worker_ ...
- 为了不复制粘贴,我被逼着学会了JAVA爬虫
整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 本文作者:程序员内点事 更多精选 技术部突然宣布:JAVA开发人 ...
- HDU_5729_rmq+二分
http://acm.hdu.edu.cn/showproblem.php?pid=5726 rmq修改成gcd的,关键是找个数,用二分来找,刚开始理解了好久,因为每个区间内gcd是递减的,所以可以优 ...