注意: 这是https://hub.docker.com/_/ruby%E7%9A%84%60arm32v6%60%E6%9E%B6%E6%9E%84%E6%9E%84%E5%BB%BA%E7%89%88%E6%9C%AC%E7%9A%84%E2%80%9C%E6%AF%8F%E4%B8%AA%E6%9E%B6%E6%9E%84%E2%80%9D%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/official-images#architectures-other-than-amd64%E2%80%9D%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E2%80%9D%E3%80%82
-** 维护者:**https://github.com/docker-library/ruby
-** 获取帮助:**Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接https://github.com/docker-library/ruby/blob/7d367fd4559ed09fedea90e***b36cfb64d2/3.5-rc/alpine3.22/Dockerfile
https://github.com/docker-library/ruby/blob/f0bf5f365387703579af740f915b6f32c4ee4c28/3.5-rc/alpine3.21/Dockerfile
https://github.com/docker-library/ruby/blob/7b7c8319337974e0df7e809c2360027d873ab259/3.4/alpine3.22/Dockerfile
https://github.com/docker-library/ruby/blob/7b7c8319337974e0df7e809c2360027d873ab259/3.4/alpine3.21/Dockerfile
https://github.com/docker-library/ruby/blob/7381a0d50ab2347b8e3fe4ea3068ee18b0b60115/3.3/alpine3.22/Dockerfile
https://github.com/docker-library/ruby/blob/7381a0d50ab2347b8e3fe4ea3068ee18b0b60115/3.3/alpine3.21/Dockerfile
https://github.com/docker-library/ruby/blob/33e4f980322b70f078a64d9e61eae1af040df5c2/3.2/alpine3.22/Dockerfile
https://github.com/docker-library/ruby/blob/33e4f980322b70f078a64d9e61eae1af040df5c2/3.2/alpine3.21/Dockerfile
-** 提交issue的位置:**https://github.com/docker-library/ruby/issues?q=
-** 支持的架构:**(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/ruby/, https://hub.docker.com/r/arm32v5/ruby/, https://hub.docker.com/r/arm32v6/ruby/, https://hub.docker.com/r/arm32v7/ruby/, https://hub.docker.com/r/arm64v8/ruby/, https://hub.docker.com/r/i386/ruby/, https://hub.docker.com/r/mips64le/ruby/, https://hub.docker.com/r/ppc64le/ruby/, https://hub.docker.com/r/riscv64/ruby/, https://hub.docker.com/r/s390x/ruby/
-** 发布的镜像 artifact 详情:**https://github.com/docker-library/repo-info/blob/master/repos/ruby%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/ruby%EF%BC%89
(镜像元数据、传输大小等)
-** 镜像更新:**https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fruby
https://github.com/docker-library/official-images/blob/master/library/ruby%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/ruby%EF%BC%89
-** 本描述的来源:**https://github.com/docker-library/docs/tree/master/ruby%EF%BC%88https://github.com/docker-library/docs/commits/master/ruby%EF%BC%89
Ruby是一种动态、反射式、面向对象的通用开源编程语言。据其作者介绍,Ruby 受到了 Perl、Smalltalk、Eiffel、Ada 和 Lisp 的影响。它支持多种编程范式,包括函数式、面向对象和命令式。它还具有动态类型系统和自动内存管理。
***.org/wiki/Ruby_(programming_language)
!https://raw.githubusercontent.com/docker-library/docs/01c***b2fe592c1f93a13b4e289ada0e3a1/ruby/logo.png
DockerfiledockerfileFROM arm32v6/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 镜像:
console$ docker build -t my-ruby-app . $ docker run -it --name my-running-script my-ruby-app
Gemfile.lock上述示例 Dockerfile 要求应用目录中存在 Gemfile.lock。以下 docker run 命令可帮助生成该文件。在应用根目录下(与 Gemfile 同级)运行:
console$ docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app arm32v6/ruby:3.3 bundle install
对于许多简单的单文件项目,编写完整的 Dockerfile 可能不太方便。在这种情况下,可以直接使用 Ruby Docker 镜像运行 Ruby 脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp arm32v6/ruby:3.3 ruby your-daemon-or-script.rb
默认情况下,Ruby 继承其运行环境的区域设置。对于大多数在桌面系统上运行 Ruby 的用户,这可能意味着使用某种 *.UTF-8 变体(如 en_US.UTF-8 等)。但在 Docker 中,默认区域设置为 C,这可能会导致意外结果。如果应用需要处理 UTF-8,建议通过 -e LANG=C.UTF-8 或 ENV LANG C.UTF-8 显式调整镜像/容器的区域设置。
此镜像设置了多个环境变量,这些变量会改变 Bundler 和 Gem 的行为,以便在容器内运行单个应用(特别是允许将应用的开发源代码绑定挂载到容器内,且不会让主机的 .bundle 干扰容器的正常功能)。
我们设置的环境变量在上述链接的 Dockerfile 中有明确列出,其中包括 GEM_HOME、BUNDLE_SILENCE_ROOT_WARNING 和 BUNDLE_APP_CONFIG 等。
如果这些变量对您的使用场景造成问题(例如在单个容器中运行多个 Ruby 应用),将它们设置为空字符串 应该 足以取消其行为。
arm32v6/ruby 镜像有多种版本,每种版本设计用于特定用例。
arm32v6/ruby:<version>这是默认镜像。如果不确定自己的需求,可能应该使用此版本。它设计为既可作为临时容器使用(挂载源代码并启动容器以运行应用),也可作为构建其他镜像的基础。
此标签基于 https://hub.docker.com/_/buildpack-deps/%E3%80%82%60buildpack-deps%60 专为在系统上有许多镜像的 Docker 普通用户设计。它默认包含大量极其常见的 Debian 软件包。这减少了派生镜像需要安装的软件包数量,从而减小系统上所有镜像的总体大小。
arm32v6/ruby:<version>-alpine此镜像基于流行的 Alpine Linux 项目,可在 https://hub.docker.com/_/alpine 中获取。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此通常会生成更精简的镜像。
当最终镜像大小尽可能小是主要关注点时,此变体非常有用。需要注意的主要问题是它使用 musl libc 而非 glibc 及相关库,因此软件可能会因对 libc 要求/假设的深度不同而遇到问题。有关可能出现的问题以及使用基于 Alpine 的镜像的优缺点比较,请参见 此 Hacker News 评论线程。
为最小化镜像大小,基于 Alpine 的镜像中通常不包含额外的相关工具(如 git 或 bash)。以此镜像为基础,可在自己的 Dockerfile 中添加所需工具(如果不熟悉如何安装软件包,请参见 https://hub.docker.com/_/alpine/ 中的示例)。
查看此镜像中包含的软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证约束(如基础发行版中的 Bash 等,以及包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能位于 https://github.com/docker-library/repo-info/tree/master/repos/ruby 中。
至于任何预构建镜像的使用,镜像用户有责任确保对本镜像的任何使用都符合其中包含的所有软件的相关许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务