mips64le/ruby注意:这是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/ 目录中。
对于任何预构建镜像的使用,确保对镜像中包含的所有软件的使用符合相关许可,是镜像用户的责任。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务