本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
该容器镜像包含Ruby 2.4,作为构建Ruby 2.4应用程序的源到镜像(S2I)基础镜像。用户可选择基于RHEL、CentOS或Fedora的构建器镜像:RHEL镜像可在Red Hat容器目录获取,CentOS镜像在Docker Hub,Fedora镜像在Fedora Registry。生成的镜像可使用podman运行(本文档中podman命令可替换为docker,参数相同)。
适用于开发、部署和运行Ruby 2.4应用程序的场景,支持Ruby on Rails、Sinatra、Padrino等框架,可用于开发调试、持续集成/部署(CI/CD)及生产环境运行。
以下以rhscl/ruby-24-rhel7镜像(OpenShift中对应ruby:2.4镜像流标签)为例说明使用方法。
构建ruby-sample-app示例应用:
oc new-app ruby:2.4~[***] --context-dir=2.4/test/puma-test-app/
在已安装S2I的系统上:
$ s2i build [***] --context-dir=2.4/test/puma-test-app/ rhscl/ruby-24-rhel7 ruby-sample-app
$ curl 127.0.0.1:8080
可在源代码仓库的.s2i/environment文件中以键值对形式设置以下环境变量:
RACK_ENV
指定应用部署环境(production/development/test),不同环境在日志、错误页面、gem安装等方面行为不同。仅当设为production时会编译应用资产。
DISABLE_ASSET_COMPILATION
设为true时跳过资产编译,仅在production环境且资产已预编译时使用。
PUMA_MIN_THREADS、PUMA_MAX_THREADS
分别指定Puma Web服务器线程池的最小和最大线程数。
PUMA_WORKERS
指定Puma的工作进程数,详见Puma集群模式文档。
RUBYGEM_MIRROR
设置自定义RubyGems镜像URL,用于构建过程中下载gem包。
为动态获取源代码变更,需执行以下步骤:
运行时通过-e参数传递RAILS_ENV=development:
$ podman run -e RAILS_ENV=development -p 8080:8080 rails-app
RACK_ENV=development:$ podman run -e RACK_ENV=development -p 8080:8080 sinatra-app
使用podman exec进入容器(源代码位于/opt/app-root/src):
$ podman exec -it <容器ID> /bin/bash
线程数调整:通过PUMA_MIN_THREADS和PUMA_MAX_THREADS设置每个worker的线程范围。
CPU核心限制:worker进程数默认由容器可用CPU核心数决定(通过cgroup cpusets),可通过--cpuset-cpus指定核心:
$ podman run -e PUMA_MAX_THREADS=32 --cpuset-cpus='0-2,3,5' -p 8080:8080 sinatra-app
50 + 15 * WORKERS + 0.125 * WORKERS * PUMA_MAX_THREADS(单位:MiB),可通过--memory指定内存限制,worker数会自动缩减以适应:$ podman run -e PUMA_MAX_THREADS=32 --memory=300m -p 8080:8080 sinatra-app
PUMA_WORKERS环境变量直接指定worker进程数,覆盖CPU和内存自动计算结果。Dockerfile及源码可在[***]Dockerfile,RHEL7为Dockerfile.rhel7,RHEL8为Dockerfile.rhel8,Fedora为Dockerfile.fedora。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429