redhat quay 安装试用

最近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

posted on   荣锋亮  阅读(957)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-11-13 Hasura GraphQL 内部表结构
2018-11-13 Hasura GraphQL schema 生成是如何工作的
2018-11-13 一张方便的graphql schema 语言手册
2017-11-13 Jitsi 开源视频会议远程桌面共享&&文档共享工具
2017-11-13 gradle build scan 插件使用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示