
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
[Docker社区]
[Docker社区Slack] 、[Server Fault] 、[Unix & Linux] 或 [Stack Overflow]
[[]]
([更多信息] )
[amd64] 、[arm32v5] 、[arm32v6] 、[arm32v7] 、[arm64v8] 、[i386] 、[mips64le] 、[ppc64le] 、[riscv64] 、[s390x]
[repo-info仓库的repos/ruby/目录] ([历史记录] )
(包含镜像元数据、传输大小等)
[official-images仓库的library/ruby标签]
[official-images仓库的library/ruby文件] ([历史记录] )
[docs仓库的ruby/目录] ([历史记录] )
3.5.0-preview1-trixie, 3.5-rc-trixie, 3.5.0-preview1, 3.5-rc]3.5.0-preview1-slim-trixie, 3.5-rc-slim-trixie, 3.5.0-preview1-slim, 3.5-rc-slim]3.5.0-preview1-bookworm, 3.5-rc-bookworm]3.5.0-preview1-slim-bookworm, 3.5-rc-slim-bookworm]3.5.0-preview1-alpine3.22, 3.5-rc-alpine3.22, 3.5.0-preview1-alpine, 3.5-rc-alpine]3.5.0-preview1-alpine3.21, 3.5-rc-alpine3.21]latest标签)3.4.7-trixie, 3.4-trixie, 3-trixie, trixie, 3.4.7, 3.4, 3, latest]3.4.7-slim-trixie, 3.4-slim-trixie, 3-slim-trixie, slim-trixie, 3.4.7-slim, 3.4-slim, 3-slim, slim]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.4.7-alpine3.22, 3.4-alpine3.22, 3-alpine3.22, alpine3.22, 3.4.7-alpine, 3.4-alpine, 3-alpine, alpine]3.4.7-alpine3.21, 3.4-alpine3.21, 3-alpine3.21, alpine3.21]3.3.9-trixie, 3.3-trixie, 3.3.9, 3.3]3.3.9-slim-trixie, 3.3-slim-trixie, 3.3.9-slim, 3.3-slim]3.3.9-bookworm, 3.3-bookworm]3.3.9-slim-bookworm, 3.3-slim-bookworm]3.3.9-alpine3.22, 3.3-alpine3.22, 3.3.9-alpine, 3.3-alpine]3.3.9-alpine3.21, 3.3-alpine3.21]3.2.9-trixie, 3.2-trixie, 3.2.9, 3.2]3.2.9-slim-trixie, 3.2-slim-trixie, 3.2.9-slim, 3.2-slim]3.2.9-bookworm, 3.2-bookworm]3.2.9-slim-bookworm, 3.2-slim-bookworm]3.2.9-alpine3.22, 3.2-alpine3.22, 3.2.9-alpine, 3.2-alpine]3.2.9-alpine3.21, 3.2-alpine3.21]Ruby是一种动态、反射式、面向对象的通用开源编程语言。其设计者表示,Ruby受Perl、Smalltalk、Eiffel、Ada和Lisp等语言影响,支持函数式、面向对象、命令式等多种编程范式,具备动态类型系统和自动内存管理。
![Ruby logo]
在Ruby项目根目录创建Dockerfile:
dockerfileFROM docker.xuanyuan.run/ruby:3.3 # 可替换为其他标签,如ruby:3.4-slim # 若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同级),执行以下命令构建并运行:
console$ docker build -t my-ruby-app . $ docker run -it --name my-running-script my-ruby-app
上述Dockerfile需项目根目录存在Gemfile.lock。若本地未生成,可通过以下命令生成:
console$ docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app ruby:3.3 bundle install
(在项目根目录执行,ruby:3.3可替换为实际使用的镜像标签)
对于简单的单文件项目,可直接使用Ruby镜像运行脚本,无需编写Dockerfile:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp ruby:3.3 ruby your-daemon-or-script.rb
(your-daemon-or-script.rb替换为实际脚本文件名)
Ruby默认继承运行环境的 locale。桌面环境通常使用*.UTF-8(如en_US.UTF-8),但Docker默认locale为C,可能导致编码问题。若应用需处理UTF-8,建议通过环境变量显式设置:
console$ docker run -e LANG=C.UTF-8 ... # 运行时设置 # 或在Dockerfile中添加:ENV LANG C.UTF-8
本镜像设置了多个环境变量(如GEM_HOME、BUNDLE_SILENCE_ROOT_WARNING、BUNDLE_APP_CONFIG),优化容器内单应用运行场景(例如避免宿主机.bundle目录干扰容器内依赖)。变量定义可在对应Dockerfile中查看。
若需在单个容器中运行多个Ruby应用,可将这些变量设为空字符串以禁用默认行为。
Ruby镜像提供多种变体,适用于不同场景:
适合大多数用户,基于buildpack-deps构建,包含大量常用Debian包,减少衍生镜像的依赖安装需求。标签中含 Debian 代号(如trixie、bookworm)的变体,基于对应Debian版本,建议显式指定代号以避免Debian版本更新导致的兼容性问题。
仅包含运行Ruby所需的最小依赖,体积小于默认版本,适合空间受限的环境。但不含默认版本中的常见工具,需自行安装额外依赖。
基于[Alpine Linux] ([alpine官方镜像] ),体积极小(基础镜像约5MB),适合对镜像大小敏感的场景。
注意:Alpine使用musl libc而非glibc,可能存在兼容性问题;且默认不含git、bash等工具,需在Dockerfile中自行安装(参考[Alpine镜像文档] )。
ruby/目录] 查看自动检测的许可证信息。使用前请确保遵守所有包含软件的许可证要求。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 ruby 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: