redhat quay 集成镜像构建
redhat quay 可以类似docker hub 那样进行镜像的构建,以下是一个学习,但是在测试中发现流程是可以通的,但是
quay 在对于dockerfile 内容处理上有bug,造成builder 获取到的内容为空,无法进行镜像构建
环境准备
- dockerc-compose
version: "3"
services:
postgres:
image: postgres:10
ports:
- "5432:5432"
environment:
- "POSTGRES_PASSWORD:dalong"
redis:
image: redis
ports:
- "6379:6379"
privileged: true
quay-config:
image: dalongrong/quay:v3.1.2
command: config
env_file:
- .env
privileged: true
ports:
- "8443:8443"
quay-deploy:
image: dalongrong/quay:v3.1.2
env_file:
- .env
privileged: true
volumes:
- "./quay/config:/conf/stack:Z"
- "./quay/storage:/datastorage:Z"
ports:
- "443:8443"
- "8080:8080"
quay-builder:
image: dalongrong/quay-builder
environment:
- "SERVER=ws://quay-deploy:8787"
volumes:
- "/var/run/docker.sock:/mnt/docker.sock"
- 配置部分
可以参考官方文档,或者https://www.cnblogs.com/rongfengliang/p/11850908.html - 简单说明
运行需要配置host 文件
127.0.0.1 quay-deploy
quay-builder 说明
quay-builder 是包含了websocket 服务的通信以及与BuildManager获取构建内容,运行需要docker engine
运行的时候我们可以通过环境变量配置server
运行使用
- 添加基于dockerfile 的内容构建

- 选择dockerfile

- 构建效果

- 失败原因:
builder 日志
quay-builder_1 | time="2019-11-13T12:54:07Z" level=info msg="decoded build args: rpc.BuildArgs{BuildPackage:\"http://quay-deploy:8080/userfiles/f873ae85-f9e2-4d10-a663-08921bae216d\", Context:\"/\", DockerfilePath:\"Dockerfile\", Repository:\"rong/dockerfile\", Registry:\"quay-deploy:8080\", PullToken:\"7MPM2WSQ1GXSMA3BNLNEF2M2MW7J205FQTP9N8IMQGB5UG57WSBW6YFWA6CNLH7U\", PushToken:\"7MPM2WSQ1GXSMA3BNLNEF2M2MW7J205FQTP9N8IMQGB5UG57WSBW6YFWA6CNLH7U\", TagNames:[]string{\"latest\"}, Git:(*rpc.BuildArgsGit)(nil), BaseImage:rpc.BuildArgsBaseImage{Username:\"\", Password:\"\"}}"
quay-builder_1 | time="2019-11-13T12:54:07Z" level=info msg="connecting to docker host: unix:///var/run/docker.sock"
从以上我们可以看出需要请求dockerfile 的内容,但是server 返回的内容为空 
实际文件目录的内容 
说明
以上就是集成builder 进行docker 镜像构建,但是有bug,流程没有问题,同时在集成gitlab等的时候无法,获取组下边的项目(可能是gitlab 版本的问题?)
参考资料
https://github.com/quay/quay
https://github.com/quay/quay-builder
https://access.redhat.com/documentation/en-us/red_hat_quay/3/html/use_red_hat_quay/build-support
https://hub.docker.com/repository/docker/dalongrong/quay-builder
https://hub.docker.com/repository/docker/dalongrong/quay
redhat quay 集成镜像构建的更多相关文章
- redhat quay 安装试用
最近redhat 开源了quay 容器镜像管理平台,参考官方文档跑的时候需要订阅,各种不好使,然后就自己基于源码构建了 一个镜像(使用官方的dockerfile,构建出来的太大了1.9G 以及push ...
- vitess基础镜像构建流程Centos
以下列出了构建vitess使用的Centos镜像的简单流程,由于较早基础版本是Centos7.2的,重新构建可以基于最新的Centos版本构建 1.基础镜像拉取 #拉取官方版本 docker pull ...
- 5大最新云原生镜像构建工具全解析,3个来自Google,你了解几个?
1云原生大背景下的镜像构建在分享开始,我想先跟大家简单聊一下云原生,可能不会详细展开,而是带领大家了解一下云原生对镜像构建方面的影响.第一,在接触云原生相关的技术时,无论是要解决开发.测试环境的问题, ...
- 玩转docker镜像和镜像构建
摘要 本文从个人的角度,讲述对于docker镜像和镜像构建的一些实践经验.主要内容包括利用docker hub进行在线编译,下载镜像,dind的实践,对于镜像的一些思考等.本文是对当时微信分享内容的一 ...
- Docker镜像构建的两种方式
关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...
- spring boot / cloud (三) 集成springfox-swagger2构建在线API文档
spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...
- docker之NGINX镜像构建
Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性:1.作为Web服务器.2.作为负载均衡服务器.3.作为邮件代理服务器.4.安装及配置简单.接下来我们介绍在docker构建ng ...
- Docker镜像构建的两种方式(六)--技术流ken
镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...
- Docker镜像构建
一.简介 在构建容器化应用时,相当重要的步骤莫过于镜像制作,本文将介绍镜像制作方法以及镜像制作的建议.通常镜像的制作有两种方式: 使用现有的容器使用docker commit 生成镜像 使用Docke ...
随机推荐
- Linux record
1.设置ubuntu密码刚安装好的ubuntu系统,没有root密码,需要用户去手动设置的. sudo passwd root 输入2次密码即可. 2. Linux下is not in the sud ...
- jsp之el表达式jstl标签
不管是el表达式还是jstl标签最终的目的都是要消除jsp中的java代码,当然是消除显式的java代码 el表达式的出现是为了简化jsp中读取数据并写入页面的操作. el表达式的功能不多,也很好记 ...
- Python之threading多线程,多进程
1.threading模块是Python里面常用的线程模块,多线程处理任务对于提升效率非常重要,先说一下线程和进程的各种区别,如图 概括起来就是 IO密集型(不用CPU) 多线程计算密集型(用CPU) ...
- 【ztree】回显选中节点
// treeId是元素id,array是数据数组 var ztree = $.fn.zTree.init($("#treeId"), setting, array); // 获取 ...
- [完整版]Postgresql 数据库 备份以及恢复的过程
0. 准备工作 linux机器上面 必须安装上pg数据库 然后 需要将 pg的主程序目录 放到环境变量里面去 便于执行命令. 1. 先备份 . 备份目标数据库: pg_dump -h -F c -f ...
- 【题解】宫廷守卫 [P1263]
[题解]宫廷守卫 [P1263] 传送门:宫廷守卫 \([P1263]\) [题目描述] 给出一个 \(n*m\) 的方格图,分别用整数 \(0,1,2\) 表示空地.陷阱.墙,空地上可以放置守卫,如 ...
- golang学习笔记----源码文件
GO源码文件
- 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- SprintBoot 实现上传下载
本人在 .NET 转JAVA 的路上 ,也在学习SpringBoot相关知识,这里记录一下在Springboot中实现文件上传下载的核心代码 package com.file.demo.springb ...
- 我为什么学习Haskell
说起来,Haskell真是相当冷门而小众的一门语言.在我工作第一年的时候,我平时从网络的一些学习资料上时不时看到有人提到这门语言.那时候的认识就是除了我们平时用的“面向对象语言 (OOP: Objec ...