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"
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 集成镜像构建的更多相关文章

  1. redhat quay 安装试用

    最近redhat 开源了quay 容器镜像管理平台,参考官方文档跑的时候需要订阅,各种不好使,然后就自己基于源码构建了 一个镜像(使用官方的dockerfile,构建出来的太大了1.9G 以及push ...

  2. vitess基础镜像构建流程Centos

    以下列出了构建vitess使用的Centos镜像的简单流程,由于较早基础版本是Centos7.2的,重新构建可以基于最新的Centos版本构建 1.基础镜像拉取 #拉取官方版本 docker pull ...

  3. 5大最新云原生镜像构建工具全解析,3个来自Google,你了解几个?

    1云原生大背景下的镜像构建在分享开始,我想先跟大家简单聊一下云原生,可能不会详细展开,而是带领大家了解一下云原生对镜像构建方面的影响.第一,在接触云原生相关的技术时,无论是要解决开发.测试环境的问题, ...

  4. 玩转docker镜像和镜像构建

    摘要 本文从个人的角度,讲述对于docker镜像和镜像构建的一些实践经验.主要内容包括利用docker hub进行在线编译,下载镜像,dind的实践,对于镜像的一些思考等.本文是对当时微信分享内容的一 ...

  5. Docker镜像构建的两种方式

    关于Docker里面的几个主要概念 这里用个不太恰当的比方来说明. 大家肯定安装过ghost系统,镜像就像是ghost文件,容器就像是ghost系统.你可以拿别人的ghost文件安装系统(使用镜像运行 ...

  6. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

  7. docker之NGINX镜像构建

    Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性:1.作为Web服务器.2.作为负载均衡服务器.3.作为邮件代理服务器.4.安装及配置简单.接下来我们介绍在docker构建ng ...

  8. Docker镜像构建的两种方式(六)--技术流ken

    镜像构建介绍 在什么情况下我们需要自己构建镜像那? (1)当我们找不到现有的镜像,比如自己开发的应用程序 (2)需要在镜像中加入特定的功能 docker构建镜像有两种方式:docker commit命 ...

  9. Docker镜像构建

    一.简介 在构建容器化应用时,相当重要的步骤莫过于镜像制作,本文将介绍镜像制作方法以及镜像制作的建议.通常镜像的制作有两种方式: 使用现有的容器使用docker commit 生成镜像 使用Docke ...

随机推荐

  1. Harmonious Army

    Harmonious Army Now, Bob is playing an interesting game in which he is a general of a harmonious arm ...

  2. python的深浅拷贝-成为马老师的弟子

    参考链接 骏马金龙 前提 想要了解深浅拷贝之前必须要知道可变和不可变类型,和他们的特性 不可变类型 数字 字符串 元组 不可变集合 特性:改变值,会创建新的内存空间存储数据 可变类型 列表 字典 可变 ...

  3. C# Thread was being aborted

    先重现问题 1.新建一个aspx页面项目,插入两个页面WebForm1.aspx,WebForm2.aspx, WebForm1代码修改如下 protected void Page_Load(obje ...

  4. PHP小程序后端支付代码亲测可用

    小程序后端支付代码亲测可用 <?php namespace Home\Controller; use Think\Controller; class WechatpayController ex ...

  5. MVC+Ninject+三层架构+代码生成 -- 总结(二、建項目)

    1.項目分層,其中SqlSugar 是一個ORM 庫類. 2.VS庫類 視圖.

  6. 整理:C#常用字符串操作,常用数值类型转换

    一.字符串操作 1. 字符串连接 //将指定的数组所有元素拼接为一个字符串 string[] arr = {"A","B","C"}; st ...

  7. nginx fastcgi模块ngx_http_fastcgi_module详细解析、使用手册、完整翻译

    ngx_http_fastcgi_module 模块允许将请求传递给 FastCGI 服务器. 示例配置 location / { fastcgi_pass localhost:9000; fastc ...

  8. Math基础使用

    /* java.lang.Math类是数学相关的工具类,里面提供的大量静态方法,完成与数学运算的操作 public static double abs(double num):获取绝对值. publi ...

  9. 百度云BCC主机宝镜像

    重装系统 在bcc服务器中,选实例,然后重装系统,镜像选择为主机宝CentOS6.5. 装完后,查看主机宝CentOS6.5官方文档. 登录主机宝管理界面 使用 root 用户登录 SSH 终端执行: ...

  10. 字符串替换replace方法

    字符串替换replace方法: http://www.w3school.com.cn/jsref/jsref_replace.asp http://www.cnblogs.com/skywang/ar ...