本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意:这是ruby官方镜像的i386架构构建的"per-architecture"仓库——更多信息,请参见官方镜像文档中的"除amd64之外的架构?"和官方镜像FAQ中的"镜像源在Git中已更改,现在该怎么办?"。
维护者:
Docker社区
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接3.5.0-preview1-trixie, 3.5-rc-trixie, 3.5.0-preview1, 3.5-rc
3.5.0-preview1-slim-trixie, 3.5-rc-slim-trixie, 3.5.0-preview1-slim, 3.5-rc-slim
3.5.0-preview1-bookworm, 3.5-rc-bookworm
3.5.0-preview1-slim-bookworm, 3.5-rc-slim-bookworm
3.5.0-preview1-alpine3.22, 3.5-rc-alpine3.22, 3.5.0-preview1-alpine, 3.5-rc-alpine
3.5.0-preview1-alpine3.21, 3.5-rc-alpine3.21
3.4.7-trixie, 3.4-trixie, 3-trixie, trixie, 3.4.7, 3.4, 3, latest
3.4.7-slim-trixie, 3.4-slim-trixie, 3-slim-trixie, slim-trixie, 3.4.7-slim, 3.4-slim, 3-slim, slim
3.4.7-bookworm, 3.4-bookworm, 3-bookworm, bookworm
3.4.7-slim-bookworm, 3.4-slim-bookworm, 3-slim-bookworm, slim-bookworm
3.4.7-alpine3.22, 3.4-alpine3.22, 3-alpine3.22, alpine3.22, 3.4.7-alpine, 3.4-alpine, 3-alpine, alpine
3.4.7-alpine3.21, 3.4-alpine3.21, 3-alpine3.21, alpine3.21
3.3.9-trixie, 3.3-trixie, 3.3.9, 3.3
3.3.9-slim-trixie, 3.3-slim-trixie, 3.3.9-slim, 3.3-slim
3.3.9-bookworm, 3.3-bookworm
3.3.9-slim-bookworm, 3.3-slim-bookworm
3.3.9-alpine3.22, 3.3-alpine3.22, 3.3.9-alpine, 3.3-alpine
3.3.9-alpine3.21, 3.3-alpine3.21
3.2.9-trixie, 3.2-trixie, 3.2.9, 3.2
3.2.9-slim-trixie, 3.2-slim-trixie, 3.2.9-slim, 3.2-slim
3.2.9-bookworm, 3.2-bookworm
3.2.9-slim-bookworm, 3.2-slim-bookworm
3.2.9-alpine3.22, 3.2-alpine3.22, 3.2.9-alpine, 3.2-alpine
3.2.9-alpine3.21, 3.2-alpine3.21
问题反馈地址:
[***]
支持的架构:(更多信息)
amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le, riscv64, s390x
镜像 artifact 详情:
repo-info仓库的repos/ruby/目录(历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/ruby标签
official-images仓库的library/ruby文件(历史记录)
本文档来源:
docs仓库的ruby/目录(历史记录)
Ruby是一种动态、反射式、面向对象的通用开源编程语言。据其作者介绍,Ruby受到Perl、Smalltalk、Eiffel、Ada和Lisp的影响。它支持多种编程范式,包括函数式、面向对象和命令式。它还具有动态类型系统和自动内存管理。
***.org/wiki/Ruby_(programming_language)
!logo
DockerfileFROM i386/ruby:3.3 # 如果Gemfile自Gemfile.lock后被修改,则抛出错误 RUN bundle config --global frozen 1 WORKDIR /usr/src/app COPY Gemfile Gemfile.lock ./ RUN bundle install COPY . . CMD ["./your-daemon-or-script.rb"]
将此文件放在应用的根目录下,与Gemfile同级。
然后可以构建并运行Ruby镜像:
$ docker build -t my-ruby-app . $ docker run -it --name my-running-script my-ruby-app
Gemfile.lock上述Dockerfile示例需要应用目录中存在Gemfile.lock。以下docker run命令可帮助生成该文件。在应用根目录下(与Gemfile同级)运行:
$ docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app i386/ruby:3.3 bundle install
对于许多简单的单文件项目,编写完整的Dockerfile可能不方便。这种情况下,可以直接使用Ruby Docker镜像运行Ruby脚本:
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp i386/ruby:3.3 ruby your-daemon-or-script.rb
默认情况下,Ruby继承其运行环境的locale。对于大多数在桌面系统上运行Ruby的用户,locale可能是*.UTF-8(如en_US.UTF-8等)的某种变体。但在Docker中,默认locale是C,这可能导致意外结果。如果应用需要处理UTF-8,建议通过-e LANG=C.UTF-8或ENV LANG C.UTF-8显式调整镜像/容器的locale。
此镜像设置了多个环境变量,这些变量会改变Bundler和Gem在容器内运行单个应用时的行为(特别是为了使应用的开发源码能通过bind-mount挂载到容器内,且避免主机的.bundle干扰容器的正常功能)。
我们设置的环境变量在上述链接的Dockerfile中有明确列出,其中包括GEM_HOME、BUNDLE_SILENCE_ROOT_WARNING和BUNDLE_APP_CONFIG等。
如果这些变量对您的使用场景造成问题(例如在单个容器中运行多个Ruby应用),将它们设置为空字符串应足以取消其影响。
i386/ruby镜像有多种版本,每种版本设计用于特定场景。
i386/ruby:<version>这是默认镜像。如果不确定自己的需求,建议使用此版本。它既适用于临时容器(挂载源码并启动容器以运行应用),也可用作构建其他镜像的基础。
某些标签可能包含bookworm或trixie等名称,这些是Debian的版本代号,表示镜像基于哪个Debian版本构建。如果您的镜像需要安装除镜像自带包之外的其他包,建议显式指定这些代号,以减少Debian新版本发布时可能出现的问题。
此标签基于buildpack-deps。buildpack-deps专为拥有多个镜像的Docker普通用户设计,它包含大量极常见的Debian包。这减少了衍生镜像需要安装的包数量,从而减小系统中所有镜像的总体大小。
i386/ruby:<version>-slim此镜像不包含默认标签中的通用包,仅包含运行i386/ruby所需的最小包。除非您的环境中仅部署i386/ruby镜像且有空间限制,否则强烈建议使用此仓库的默认镜像。
i386/ruby:<version>-alpine此镜像基于流行的Alpine Linux项目,可在alpine官方镜像

免费版仅支持 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