注意:这是ruby镜像针对mips64le架构构建的"per-architecture"仓库——更多信息,请参见镜像文档中的"除amd64之外的架构?"以及***镜像FAQ中的"Git中镜像源已更改,该怎么办?"。
维护者:
Docker社区
获取帮助:
Docker Community Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接3.5.0-preview1-bookworm, 3.5-rc-bookworm
3.5.0-preview1-slim-bookworm, 3.5-rc-slim-bookworm
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.3.9-bookworm, 3.3-bookworm
3.3.9-slim-bookworm, 3.3-slim-bookworm
3.2.9-bookworm, 3.2-bookworm
3.2.9-slim-bookworm, 3.2-slim-bookworm
提交issues的位置:
[***]
支持的架构:(更多信息)
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
DockerfiledockerfileFROM mips64le/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 mips64le/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 mips64le/ruby:3.3 ruby your-daemon-or-script.rb
默认情况下,Ruby 继承其运行环境的 locale。对于大多数在桌面系统上运行 Ruby 的用户,这可能意味着使用某种 *.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 干扰容器的正常功能)。
我们设置的环境变量在上述链接的 Dockerfiles 中有明确列出,其中包括 GEM_HOME、BUNDLE_SILENCE_ROOT_WARNING 和 BUNDLE_APP_CONFIG 等。
如果这些变量对您的使用场景造成问题(例如在单个容器中运行多个 Ruby 应用),将它们设置为空字符串应足以取消其影响。
mips64le/ruby 镜像有多种版本,每种版本针对特定使用场景设计。
mips64le/ruby:<version>这是默认镜像。如果不确定自己的需求,建议使用此版本。它既可用作临时容器(挂载源代码并启动容器以运行应用),也可用作构建其他镜像的基础。
部分标签可能包含如 bookworm 之类的名称,这些是 Debian 发行版的代号,表示镜像基于哪个发行版构建。如果您的镜像需要安装超出镜像自带的额外软件包,建议显式指定其中一个代号,以减少 Debian 新版本发布时可能出现的问题。
此标签基于 buildpack-deps。buildpack-deps 面向拥有多个镜像的普通 Docker 用户设计,包含大量极为常见的 Debian 软件包。这减少了基于它构建的镜像所需安装的软件包数量,从而减小系统上所有镜像的总体大小。
mips64le/ruby:<version>-slim此镜像不包含默认标签中的常见软件包,仅包含运行 mips64le/ruby 所需的最小软件包。除非您的环境中仅部署 mips64le/ruby 镜像且存在空间限制,否则强烈建议使用本仓库的默认镜像。
查看本镜像所包含软件的许可信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能采用其他许可(如基础发行版中的 Bash 等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可信息可能位于 repo-info 仓库的 ruby/ 目录中。
对于任何预构建镜像的使用,确保对镜像中包含的所有软件的使用符合相关许可,是镜像用户的责任。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429