
jiting/ruby本镜像为官方Docker Ruby镜像的分支版本,基于官方Ruby镜像构建并集成jemalloc内存分配器。jemalloc作为高效的内存分配器,可优化Ruby应用的内存分配效率,减少内存碎片,提升长时间运行应用的性能稳定性。
bashdocker run --rm -it [镜像名称] irb
bash# 假设当前目录包含script.rb文件 docker run --rm -v $(pwd):/app -w /app [镜像名称] ruby script.rb
bash# 假设当前目录为Rails应用根目录 docker run -d -p 3000:3000 -v $(pwd):/app -w /app [镜像名称] bundle exec rails server -b 0.0.0.0
该镜像保留官方Ruby镜像的所有环境变量,常用变量包括:
RUBY_VERSION: Ruby版本(通过镜像标签控制,如[镜像名称]:3.2)BUNDLE_PATH: Bundler依赖安装路径(默认/usr/local/bundle)GEM_HOME: RubyGems安装目录(默认/usr/local/bundle)通过MALLOC_CONF环境变量可调整jemalloc行为:
bash# 设置jemalloc内存分配参数(示例:启用内存统计,设置 arena数量) docker run --rm -e MALLOC_CONF="stats_print:true,narenas:4" [镜像名称] ruby -e "puts 'jemalloc configured'"
更多配置参数可参考jemalloc官方文档
基于本镜像构建包含应用依赖的自定义镜像:
dockerfile# Dockerfile示例 FROM [镜像名称]:3.2 # 设置工作目录 WORKDIR /app # 复制Gemfile并安装依赖 COPY Gemfile Gemfile.lock ./ RUN bundle install --without development test # 复制应用代码 COPY . . # 启动命令 CMD ["ruby", "app.rb"]
构建并运行:
bashdocker build -t my-ruby-app . docker run -d -p 4567:4567 my-ruby-app
3.3.0, 3.2.2-slim),可通过标签选择特定Ruby版本ruby -r rbconfig -e "puts RbConfig::CONFIG['LIBS']",输出应包含-ljemalloc--memory=2g --memory-swap=2g)以优化资源分配
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务