轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
centos/ruby-25-centos7
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

ruby-25-centos7 Docker 镜像下载 - 轩辕镜像

ruby-25-centos7 镜像详细信息和使用指南

ruby-25-centos7 镜像标签列表和版本信息

ruby-25-centos7 镜像拉取命令和加速下载

ruby-25-centos7 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

ruby-25-centos7
centos/ruby-25-centos7

ruby-25-centos7 镜像详细信息

ruby-25-centos7 镜像标签列表

ruby-25-centos7 镜像使用说明

ruby-25-centos7 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于构建和运行Ruby 2.5应用程序的平台,支持RHEL、CentOS和Fedora基础镜像,集成S2I框架和npm工具,可通过OpenShift或Dockerfile灵活部署。
3 收藏0 次下载activecentos镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

ruby-25-centos7 镜像详细说明

ruby-25-centos7 使用指南

ruby-25-centos7 配置说明

ruby-25-centos7 官方文档

Ruby 2.5 容器镜像

该容器镜像包含Ruby 2.5,作为Source-to-Image (S2I)基础镜像,用于构建和运行Ruby 2.5应用程序。用户可选择基于RHEL、CentOS或Fedora的构建器镜像:RHEL镜像可在Red Hat Container Catalog获取,CentOS镜像可在Quay.io获取,Fedora镜像可在Fedora Registry获取。生成的镜像可使用podman运行。

注意:本文档中的示例使用podman命令,所有此类命令均可替换为docker,参数保持不变。

镜像概述

Ruby 2.5容器镜像是构建和运行各种Ruby 2.5应用程序及框架的基础平台。Ruby是一种解释型脚本语言,适用于快速简便的面向对象编程,具有处理文本文件和执行系统管理任务的丰富功能(类似Perl),其语法简洁直观且可扩展。

该镜像包含npm工具,用户可用于安装Web应用所需的JavaScript模块。但不保证镜像中包含特定版本的npm或nodejs,这些版本可能随时变更,nodejs仅为支持npm功能而包含。

OpenShift中的使用

假设使用ubi8/ruby-25镜像(在OpenShift中可通过ruby:2.5镜像流标签获取),构建简单的ruby-sample-app应用可通过以下步骤实现:

oc new-app ruby:2.5~[***]

访问应用:

$ oc get pods
$ oc exec <pod> -- curl 127.0.0.1:8080

源到镜像(S2I)框架与脚本

该镜像支持OpenShift中的源到镜像(S2I)构建策略。S2I是一个OpenShift框架,可简化构建器镜像的编写,该类镜像接收应用源码作为输入,使用构建器镜像(如本Ruby容器镜像)生成包含应用制品的新镜像。

为支持S2I框架,构建器镜像中包含以下重要脚本:

  • /usr/libexec/s2i/assemble:用于生成包含应用制品的新镜像。该脚本接收应用源码并将其放置到镜像内的适当目录,利用Ruby应用开发中的常见模式(见下文环境变量部分)。
  • /usr/libexec/s2i/run:作为生成的容器镜像(包含应用制品的新镜像)的默认命令。该脚本配置Web服务器并在8080端口运行。

使用Dockerfile构建应用

与S2I策略相比,使用Dockerfile是构建包含应用的Ruby容器镜像的更灵活方式。当S2I不够灵活或在OpenShift环境外构建镜像时,可使用Dockerfile。

使用Ruby镜像构建Dockerfile的步骤如下:

1. 拉取基础构建器镜像

podman pull ubi8/ruby-25

本示例使用RHEL7镜像ubi8/ruby-25。

2. 获取应用代码

以[***]

git clone [***] app-src

3. 在容器内准备应用

此步骤通常至少包括:将应用源码放入容器、安装依赖、设置生成镜像的默认命令。可通过两种方式实现:使用镜像内的S2I脚本(3.1),或手动配置并显式使用ruby、bundle和rackup命令(3.2)。

3.1 使用S2I脚本通过Dockerfile构建镜像

创建如下Dockerfile:

FROM ubi8/ruby-25

# 将应用源码添加到assemble脚本期望的目录,并设置权限使容器无需root权限运行
USER 0
ADD app-src /tmp/src
RUN chown -R 1001:0 /tmp/src
USER 1001

# 设置开发模式
ENV RAILS_ENV=development

# 安装依赖
RUN /usr/libexec/s2i/assemble

# 设置生成镜像的默认命令
CMD /usr/libexec/s2i/run

S2I脚本用于设置和运行常见Ruby应用,更多信息见源到镜像部分。

3.2 手动配置通过Dockerfile构建镜像

创建如下Dockerfile:

FROM ubi8/ruby-25

USER 0
ADD app-src ./
RUN bundle install --path ./bundle

CMD bundle exec "rackup -P /tmp/rack.pid --host 0.0.0.0 --port 8080"

4. 从Dockerfile构建新镜像

podman build -t ruby-app .

5. 运行包含应用的最终镜像

podman run -d ruby-app

环境变量

可在源码仓库的.s2i/environment文件中以键值对形式设置以下环境变量:

  • RACK_ENV
    指定Ruby应用的部署环境(除非被覆盖):production、development、test。不同环境在日志详细程度、错误页面、Ruby gem安装等方面有不同行为。
    注意:仅当RACK_ENV设为production时才会编译应用资产。

  • DISABLE_ASSET_COMPILATION
    设为true时跳过资产编译过程。仅在应用运行于production环境时生效,应仅在资产已预编译时使用。

  • PUMA_MIN_THREADS、PUMA_MAX_THREADS
    指定Puma线程池的最小和最大线程数。

  • PUMA_WORKERS
    指定启动的工作进程数。详见Puma的集群模式文档。

  • RUBYGEM_MIRROR
    设置自定义RubyGems镜像URL,用于在构建过程中下载所需gem包。

热部署

要动态获取应用源码的变更,需执行以下步骤:

  • Ruby on Rails应用
    使用RAILS_ENV=development环境变量运行构建的Rails镜像,通过podman的-e参数传递:

    $ podman run -e RAILS_ENV=development -p 8080:8080 rails-app
    
  • 其他Ruby应用(Sinatra、Padrino等)
    应用需使用能在容器内源码变更时重新加载服务器的gem,如:

    • Shotgun
    • Rerun
    • Rack-livereload

    注意,要在开发模式运行应用,需修改S2I run脚本,使Web服务器由所选gem启动,以检测源码变更。
    使用修改后的S2I run脚本构建应用镜像后,通过podman的-e参数传递RACK_ENV=development运行:

    $ podman run -e RACK_ENV=development -p 8080:8080 sinatra-app
    

要在运行中的容器内修改源码,使用Podman的exec命令:

$ podman exec -it <CONTAINER_ID> /bin/bash

执行上述命令后,当前目录为/opt/app-root/src,即源码所在位置。

性能调优

可通过PUMA_MIN_THREADS和PUMA_MAX_THREADS环境变量调整每个工作进程的线程数。此外,工作进程数由容器可用CPU核心数决定(遵循Puma文档建议),通过cgroup的cpusets子系统确定。可通过podman run命令的--cpuset-cpus参数指定容器允许使用的核心:

$ podman run -e PUMA_MAX_THREADS=32 --cpuset-cpus='0-2,3,5' -p 8080:8080 sinatra-app

工作进程数还受cgroup内存限制影响。构建器镜像假设基础内存需求为50 MiB,每个工作进程额外需要15 MiB,每个线程需要128 KiB。注意每个工作进程有独立线程,容器总内存需求计算公式如下:

50 + 15 * WORKERS + 0.125 * WORKERS * PUMA_MAX_THREADS

可通过--memory标志指定内存限制:

$ podman run -e PUMA_MAX_THREADS=32 --memory=300m -p 8080:8080 sinatra-app

若内存限制比CPU核心数更严格,工作进程数会按上述公式相应缩减。也可通过设置PUMA_WORKERS显式指定工作进程数。

另请参阅

Dockerfile及其他源码见[***]Dockerfile,RHEL7的为Dockerfile.rhel7,RHEL8的为Dockerfile.rhel8,Fedora的为Dockerfile.fedora。

查看更多 ruby-25-centos7 相关镜像 →
ruby logo
ruby
by library
官方
Ruby是一种动态的编程语言,支持动态类型与动态方法定义,具备强大的反射机制,能够在运行时获取并操作自身信息;它以面向对象思想为核心,秉持“万物皆对象”的设计理念,适用于Web开发、脚本编写、系统工具开发等多种通用场景,且作为开源软件,拥有免费使用的特性和活跃的全球开发者社区提供持续支持与维护。
23981B+ pulls
上次更新:1 天前
jruby logo
jruby
by library
官方
JRuby是Ruby在JVM上的实现,用于在JVM环境中运行Ruby应用。
11850M+ pulls
上次更新:16 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.