最近redhat 开源了quay 容器镜像管理平台,参考官方文档跑的时候需要订阅,各种不好使,然后就自己基于源码构建了
一个镜像(使用官方的dockerfile,构建出来的太大了1.9G 以及push docker hub 了),然后参考官方文档运行,各种不
好使,结合查看源码进行摸索,终于部分跑起来了,功能尽管很强大,但是有点费事,以下是安装以及碰到的问题解决方
法的记录

环境准备

docker-compose 构建好的镜像以及push dockerhub了 dalongrong/quay

  • docker-compose 文件
 
version: "3"
services: 
  postgres:
    image: postgres:10
    ports:
    - "5432:5432"
    environment: 
    - "POSTGRES_PASSWORD:dalong"
  redis:
    image: redis
    ports:
    - "6379:6379"
    privileged: true
  quay-migration:
    image: dalongrong/quay:v3.1.2
    command: migrate
    env_file: 
    - .env
    privileged: true
    ports:
    - "8443:8443"
  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"
    - "80:8080"
  quay-mirror:
    image: dalongrong/quay:v3.1.2
    command: repomirror
    privileged: true
    env_file: 
    - .env
    volumes: 
    - "./quay/config:/conf/stack"
  • 启动
docker-compose up -d 
  • 环境变量配置
    这个目前是一个坑,官方文档与实际运行效果不一致(可能是自己构建的原因),同时对于mysql 当前部分字段设计也不太合理(列的长度错误)
 
QUAY_OVERRIDE_CONFIG={"DATABASE_SECRET_KEY": "anothercrazykey!"}
ENCRYPTED_ROBOT_TOKEN_MIGRATION_PHASE=add-new-fields
CONFIG_APP_PASSWORD=dalong
  • 说明
    以上几个参数是结合官方的测试以及源码,暂时摸索的,ENCRYPTED_ROBOT_TOKEN_MIGRATION_PHASE 的参数为以下
add-new-fields
backfill-then-read-only-new
stop-writing-both
remove-old-fields

首次的话,可以使用通过这几个阶段配合使用(目前看到是有bug,表设计上的)

安装

  • 启动依赖组件
    mysql redis
docker-compose up -d postgres redis
  • 启动配置服务
docker-compose up -d  quay-config
  • 登录

账户 quayconfig 密码dalong

  • 配置

选择start new

  • 配置数据库选项

  • 创建管理员账户

  • 配置界面

这个是核心,quay 核心组件的启用都是在里边的,为了测试,我只使用了镜像存储以及push pull 的功能,详细配置参考官方文档

效果界面

  • 下载配置

解压配置,参考docker-compose 数据卷配置,此时config可以停止了

  • 启动部署
 
docker-compose up  -d quay-deploy
  • 登录界面

  • 创建repo

  • 一个gitlab 集成的

常见问题

  • 表结构问题
(1074, u"Column length too big for column 'ancestors' (max = 16383); use BLOB or TEXT instead") [SQL: CREATE TABLE image ( id INTEGER NOT NULL AUTO_INCREMENT, docker_image_id VARCHAR(255) NOT NULL, repository_ 

可以调整编码或者修改下源码,目前测试mysql:5.7.16可以使用,或者直接使用pg

  • pg 数据库问题
    需要pg_trgm 扩展 CREATE EXTENSION IF NOT EXISTS pg_trgm;
  • pg 数据库配置提示token_name 问题
    应该算是bug,可以先生成结构,然后使用stop-writing-both 配置阶段在运行,或者多尝试几次(删除表,然后在执行,反正尝试成功了,应该还是有bug)
Database Setup Failed: no such column: token_name

说明

redhat quay 尽管很强大,但是目前看到问题还是有好多,期待可以ga

参考资料

https://github.com/quay/quay
https://hub.docker.com/repository/docker/dalongrong/quay

redhat quay 安装试用的更多相关文章

  1. redhat自定义安装必选

    redhat自定义安装必选 1.桌面 ked桌面 x 窗口系统 2.应用程序 编辑器 基于文本的互联网 图形互联网 3.服务器 服务器配置工具 万维网服务器 Windows文件 FTP服务器

  2. redhat 中安装rpm包时遇到异常 “error: Failed dependencies:xinetd is needed by .”

    redhat 中安装rpm包时遇到错误 “error: Failed dependencies:xinetd is needed by ....” redhat中安装rpm包时遇到“error: Fa ...

  3. 如何在redhat下安装WineQQ

    使用过redhat的朋友都知道在redhat下要使用聊天工具例如:腾讯QQ只能是用网页QQ,但网页QQ始终用得不尽人意,下面我将给大家介绍一种在redhat下安装WineQQ的方法,让你能在redha ...

  4. 项目管理工具 Redmine 安装试用手记

    原文:项目管理工具 Redmine 安装试用手记 项目管理工具 Redmine 安装试用手记 分类: Redmine2009-06-01 10:12 996人阅读 评论(1) 收藏 举报 项目管理工具 ...

  5. RedHat下安装Python开发环境

    Linux RedHat下安装Python2.7.pip.ipython环境.eclipse和PyDev环境 准备工作,源Python2.6备份: 根据which python具体目录而定,进行备份 ...

  6. RedHat 7 安装PostgreSQL 10.5

    系统环境 Redhat: Version: 7.4.1708 Architecture: x86_64 Address: 10.127.1.11 User: root Uassword: redhat ...

  7. Tencent Server Web 安装试用

    Tencent Server Web 安装试用 私有环境搭建,使用docker-compose 进行memcache 安装 参考github 代码 https://github.com/rongfen ...

  8. toxiproxy 安装试用

    备注:    实际上是一个代理工具,但是又不是简单的进行代理(tcp,可以配置策略,toxics 实现延迟,模拟故障,    对于这个大家可能了解的就是netflix 公司的chaos monkey, ...

  9. (转)RedHat/CentOS安装和配置kerberos

    RedHat/CentOS安装和配置kerberos 需要在kerberos server和客户端都先安装ntp (Internet时间协议,保证服务器和客户机时间同步 ) 1  kerberos 服 ...

随机推荐

  1. com.sun.jdi.InvocationException occurred invoking

    调试时候出现com.sun.jdi.InvocationException occurred invoking method 原因:因为hibernate的延迟加载引起 修改:修改hbm映射文件的对象 ...

  2. Clean Code 笔记 之 第二章

    你是否真正的会命名 前言 这是我第二次看这本书了(Clean Code)的时候,第一次看的时候是,看到某世界五百强在他们的代码中我竟然看不到一句注释,现在我还记得当时的情景,当我Download 下第 ...

  3. 删除链表中的倒数第N个节点

    题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: ->->->->, 和 n = . 当删除了倒数第二个节点后,链表变为 -&g ...

  4. 【02】Jenkins:第一个项目

    写在前面的话 通过上一节我们成功的搭建起来 Jenkins,那么接下来就是体验如何构建我们的第一个项目了.当然在这之前我们得专门针对 Java 环境就行简单的配置. 全局工具配置 其实这次配置的主要还 ...

  5. Postgresql中无则插入的使用方法INSERT INTO WHERE NOT EXISTS

    一.问题 Postgresql中无则插入的使用方法INSERT INTO WHERE NOT EXISTS,用法请参考样例. 二.解决方案 (1)PostgresSQL INSERT INTO tes ...

  6. PIE SDK Alpha通道数据渲染

    1.  功能简介 在计算机图形学中,一个RGB颜色模型的真彩图形,用由红.绿.蓝三个色彩信息通道合成的,每个通道用了8位色彩深度,共计24位,包含了所有彩色信息.为实现图形的透明效果,采取在图形文件的 ...

  7. Flask模板渲染

    目录 Flask模板渲染 Jinja2模板引擎简介 模板 Jinja2 模板变量 变量 控制结构 宏,类似Python代码中的函数 模板继承 包含(Include) 过滤器 链式调用 常见内建过滤器 ...

  8. iOS - 逆向调试自用工具(reveal 14 Hopper Go2Shell ifunboxmac MachOView Alfred Go2Shell iTerm)

    研究了挺长一段时间的逆向感觉没啥可弄的了,再深处对我也用处不大,渐渐兴趣有些掉头了.最近有问我要工具的朋友,分享一些常用工具给用到的朋友. 用法自己百度吧,这里不再赘述. 图例(希望看到你想要的): ...

  9. QT场景视图父子关系图元打印研究

    在之前的一篇文章中,实现了QT场景视图的打印功能,主要通过render函数来实现,非常简单和方便. 在实际的项目需求中,除了打印整个场景外,还需要对单个图形进行打印操作,基于item的图形可以在pai ...

  10. Unity3D协程(转)

    这篇文章转自:http://blog.csdn.net/huang9012/article/details/38492937 协程介绍 在Unity中,协程(Coroutines)的形式是我最喜欢的功 ...