ruby-22-centos7 Docker 镜像下载 - 轩辕镜像
ruby-22-centos7 镜像详细信息和使用指南
ruby-22-centos7 镜像标签列表和版本信息
ruby-22-centos7 镜像拉取命令和加速下载
ruby-22-centos7 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
ruby-22-centos7 镜像详细信息
ruby-22-centos7 镜像标签列表
ruby-22-centos7 镜像使用说明
ruby-22-centos7 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
ruby-22-centos7 镜像详细说明
ruby-22-centos7 使用指南
ruby-22-centos7 配置说明
ruby-22-centos7 官方文档
Ruby 2.2容器镜像
该容器镜像包含Ruby 2.2,作为构建Ruby 2.2应用程序的S2I基础镜像。用户可选择基于红帽企业Linux(RHEL)或CentOS的构建器镜像:RHEL镜像可在红帽容器目录获取,镜像名为registry.access.redhat.com/rhscl/ruby-22-rhel7;CentOS镜像可在Docker中心获取,镜像名为centos/ruby-22-centos7。生成的镜像可使用Docker运行。
描述
Ruby 2.2容器镜像是构建和运行各种Ruby 2.2应用程序及框架的基础平台。Ruby是一种解释型脚本语言,适用于快速简便的面向对象编程,具有处理文本文件和执行系统管理任务的多种功能(类似Perl),其特点是简单、直观且可扩展。
使用方法
要使用独立的S2I构建简单的ruby-sample-app应用,并通过Docker运行生成的镜像,请执行以下步骤:
基于RHEL的镜像
bash$ s2i build [***] --context-dir=2.2/test/puma-test-app/ rhscl/ruby-22-rhel7 ruby-sample-app $ docker run -p 8080:8080 ruby-sample-app
基于CentOS的镜像
bash$ s2i build [***] --context-dir=2.2/test/puma-test-app/ centos/ruby-22-centos7 ruby-sample-app $ docker run -p 8080:8080 ruby-sample-app
访问应用
bash$ curl 127.0.0.1:8080
环境变量
可在源代码仓库的.sti/environment文件中以键值对形式设置以下环境变量:
-
RACK_ENV
指定Ruby应用的部署环境(除非被覆盖),可选值:production(生产)、development(开发)、test(测试)。不同环境在日志详细程度、错误页面、Ruby gem安装等方面有不同行为。
注意:仅当RACK_ENV设为production时,才会编译应用资产。 -
DISABLE_ASSET_COMPILATION
设为true时,将跳过资产编译过程。由于资产编译仅在生产环境中进行,因此该变量仅在RACK_ENV=production时生效,适用于资产已预先编译的场景。 -
PUMA_MIN_THREADS、PUMA_MAX_THREADS
这两个变量指定Puma线程池的最小和最大线程数。 -
PUMA_WORKERS
指定启动的工作进程数。详见Puma的集群模式文档。 -
RUBYGEM_MIRROR
设置自定义RubyGems镜像URL,用于在构建过程中下载所需的gem包。
热部署
要动态获取运行中容器内源代码的变更,需执行以下步骤:
Ruby on Rails应用
通过Docker的-e参数传递RAILS_ENV=development环境变量,运行构建后的Rails镜像:
bash$ docker run -e RAILS_ENV=development -p 8080:8080 rails-app
其他Ruby应用(Sinatra、Padrino等)
应用需使用能在源代码变更时重新加载服务器的gem,推荐以下gem:
- Shotgun
- Rerun
- Rack-livereload
需修改S2I运行脚本,确保Web服务器由所选gem启动以检测源代码变更。构建应用镜像后,通过Docker的-e参数传递RACK_ENV=development:
bash$ docker run -e RACK_ENV=development -p 8080:8080 sinatra-app
修改运行中容器的源代码
使用Docker的exec命令进入容器:
bashdocker exec -it <容器ID> /bin/bash
进入容器后,当前目录为/opt/app-root/src,即源代码所在位置。
性能调优
可通过PUMA_MIN_THREADS和PUMA_MAX_THREADS环境变量调整每个工作进程的线程数。工作进程数默认由容器可用CPU核心数决定(遵循Puma文档推荐),通过cgroup的cpusets子系统检测。可通过--cpuset-cpus参数指定容器允许使用的CPU核心:
bash$ docker run -e PUMA_MAX_THREADS=32 --cpuset-cpus='0-2,3,5' -p 8080:8080 sinatra-app
工作进程数还受内存限制影响。基础镜像假设每个工作进程需50 MiB基础内存+15 MiB,每个线程需128 KiB。总内存需求公式为:
50 + 15 * 工作进程数 + 0.125 * 工作进程数 * PUMA_MAX_THREADS
可通过--memory参数指定内存限制:
bash$ docker run -e PUMA_MAX_THREADS=32 --memory=300m -p 8080:8080 sinatra-app
若内存限制比CPU核心数更严格,工作进程数会按上述公式自动缩减。也可通过设置PUMA_WORKERS显式指定工作进程数。
参见
Dockerfile及其他源代码见[***]Dockerfile,RHEL的名为Dockerfile.rhel7。
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
常见问题
免费版仅支持 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 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429