
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 任务。
获取帮助的途径:
https://forums.docker.com/%E3%80%81https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack/ 或 https://stackoverflow.com/search?tab=newest&q=docker
提交问题的位置:
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 docker.xuanyuan.run/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此镜像基于流行的 [***] https://hub.docker.com/_/alpine 中获取。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此通常会生成更精简的镜像。
当希望最终镜像大小尽可能小时,强烈推荐此变体。需要注意的是,它使用 http://www.musl-libc.org 而非 http://www.etalabs.net/compare_libcs.html%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%9F%90%E4%BA%9B%E8%BD%AF%E4%BB%B6%E5%8F%AF%E8%83%BD%E5%9B%A0 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 步骤之前安装更多软件包)。
查看此镜像中包含的软件的 https://www.ruby-lang.org/en/about/license.txt%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 aarch64/ruby 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: