
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Dockerfile链接问题提交地址: https://github.com/Gusto/ruby/issues
维护者: https://github.com/gusto/ruby
描述来源: https://github.com/Gusto/ruby/blob/master/DESCRIPTION.md (https://github.com/Gusto/ruby/commits/master/DESCRIPTION.md)
Ruby是一种动态、反射式、面向对象的通用开源编程语言。据其作者介绍,Ruby受Perl、Smalltalk、Eiffel、Ada和Lisp的影响。它支持多种编程范式,包括函数式、面向对象和命令式。它还具有动态类型系统和自动内存管理。
***.org/wiki/Ruby_(programming_language)
DockerfiledockerfileFROM docker.xuanyuan.run/gusto/ruby:2.5 # 若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 gusto/ruby:2.5 bundle install
对于许多简单的单文件项目,编写完整的Dockerfile可能不便。这种情况下,可直接使用Ruby Docker镜像运行Ruby脚本:
console$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp gusto/ruby:2.5 ruby your-daemon-or-script.rb
默认情况下,Ruby继承其运行环境的区域设置。对于大多数在桌面系统上运行Ruby的用户,这可能意味着使用某种*.UTF-8变体(如en_US.UTF-8等)。但在Docker中,默认区域设置为C,可能导致意外结果。若应用需要处理UTF-8,建议通过-e LANG=C.UTF-8或ENV LANG C.UTF-8显式调整镜像/容器的区域设置。
此镜像设置了多个环境变量,用于更改Bundler和Gem的行为,以在容器内运行单个应用(特别是允许将应用的开发源代码绑定挂载到容器内,且避免主机的.bundle干扰容器的正常功能)。
Dockerfile中明确列出了设置的环境变量,包括GEM_HOME、BUNDLE_PATH、BUNDLE_BIN、BUNDLE_SILENCE_ROOT_WARNING和BUNDLE_APP_CONFIG等。
若这些设置对您的使用场景造成问题(例如在单个容器中运行多个Ruby应用),将其设置为空字符串即可取消相关行为。
gusto/ruby:<version>-ubuntu<ubuntu-version>这是镜像的命名方案。
该标签基于https://hub.docker.com/_/ubuntu镜像。标签也可指定特定的Ubuntu版本(如`gusto/ruby:2.5-ubuntu14.04`)。
查看此镜像包含软件的https://www.ruby-lang.org/en/about/license.txt。
与所有Docker镜像一样,其中可能还包含其他软件,这些软件可能采用其他许可证(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
GitHub仓库的许可证信息可在仓库的https://github.com/Gusto/ruby/blob/master/LICENSE文件中找到。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用均符合其中包含的所有软件的相关许可证要求。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 gusto/ruby 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: