
https://hub.docker.com/u/aarch64/ 组织已被弃用,建议使用更具体的 https://hub.docker.com/u/arm64v8/ 组织,详情参见 https://github.com/docker-library/official-images#architectures-other-than-amd64%E3%80%82%E8%AF%B7%E7%9B%B8%E5%BA%94%E8%B0%83%E6%95%B4%E6%82%A8%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F%E3%80%82
Dockerfile 链接这些镜像为实验性质;在 https://github.com/docker-library/official-images/issues/2289%EF%BC%88%E8%BF%99%E6%98%AF%E5%AE%9E%E7%8E%B0 proper multiarch 镜像的第一步)完成前,它们仅基于尽力而为的原则提供
请勿将它们用于重要用途
此镜像基于同名官方镜像(ruby)的源代码构建。有关相关 Dockerfile 的链接,请参见该镜像的描述。
如果您想了解此镜像的具体差异,请参见 https://github.com/tianon/jenkins-groovy/tree/master/dsl/docker-multiarch/images%EF%BC%8C%E8%BF%99%E4%BA%9B%E8%84%9A%E6%9C%AC%E8%B4%9F%E8%B4%A3%E5%88%9B%E5%BB%BA%E6%9E%84%E5%BB%BA%E8%BF%99%E4%BA%9B%E9%95%9C%E5%83%8F%E7%9A%84 Jenkins 任务。
获取帮助的途径:
Docker 社区论坛、Docker 社区 Slack 或 Stack Overflow
提交问题的位置:
https://github.com/docker-library/ruby/issues
维护者:
https://github.com/docker-library/ruby
已发布镜像制品详情:
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/pulls?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
支持的 Docker 版本:
https://github.com/docker/docker/releases/latest%EF%BC%88%E5%9F%BA%E4%BA%8E%E5%B0%BD%E5%8A%9B%E8%80%8C%E4%B8%BA%E5%8E%9F%E5%88%99%E6%94%AF%E6%8C%81%E4%BD%8E%E8%87%B3 1.6 版本)
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 ruby:2.1-onbuild CMD ["./your-daemon-or-script.rb"]
将此文件放在应用的根目录下,与 Gemfile 同级。
此镜像包含多个 ONBUILD 触发器,可满足大多数应用的引导需求。构建过程会执行 COPY . /usr/src/app 和 RUN bundle install。
然后您可以构建并运行 Ruby 镜像:
console$ docker build -t my-ruby-app . $ docker run -it --name my-running-script my-ruby-app
Gemfile.lockonbuild 标签需要应用目录中存在 Gemfile.lock。以下 docker run 命令可帮助您生成该文件。在应用根目录(与 Gemfile 同级)中运行:
console$ docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app ruby:2.1 bundle install
对于许多简单的单文件项目,编写完整的 Dockerfile 可能不方便。在这种情况下,您可以直接使用 Ruby Docker 镜像运行 Ruby 脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp ruby:2.1 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。
ruby 镜像有多种版本,每种版本设计用于特定场景。
ruby:<version>这是默认镜像。如果您不确定自己的需求,可能需要使用此版本。它设计为既可作为临时容器(挂载源代码并启动容器以运行应用),也可作为构建其他镜像的基础。此标签基于 https://registry.hub.docker.com/_/buildpack-deps/%E3%80%82%60buildpack-deps%60 面向拥有多个镜像的普通 Docker 用户,它包含大量极其常见的 Debian 软件包,从而减少派生镜像需要安装的软件包数量,降低系统中所有镜像的总体大小。
ruby:slim此镜像不包含默认标签中的常见软件包,仅包含运行 ruby 所需的最小软件包。除非您的环境中仅部署 ruby 镜像且有空间限制,否则强烈建议使用此仓库的默认镜像。
ruby: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/ 中的示例)。
ruby:onbuild此镜像简化了派生镜像的构建。对于大多数用例,在项目目录的根目录中创建包含 FROM ruby:onbuild 行的 Dockerfile,即可为您的项目创建独立镜像。
虽然 onbuild 变体对于“快速启动”(短时间内实现 Docker 化)非常有用,但由于无法控制 ONBUILD 触发器的执行时机,不建议在项目中长期使用(另请参见 https://github.com/docker/docker/issues/5714%E3%80%81https://github.com/docker/docker/issues/8240%E3%80%81https://github.com/docker/docker/issues/***%EF%BC%89%E3%80%82
一旦您了解项目在 Docker 中的运行方式,可能需要调整 Dockerfile,使其继承自非 onbuild 变体,并将 onbuild 变体 Dockerfile 中的命令(将 ONBUILD 行移至末尾并删除 ONBUILD 关键字)复制到您自己的文件中,以便更好地控制这些命令,并让您和查看 Dockerfile 的其他人更清楚其功能。这也便于随着时间的推移添加额外需求(例如在执行之前的 ONBUILD 步骤之前安装更多软件包)。
查看此镜像中包含的软件的 许可证信息。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务