
library/jrubyJRuby 是 Ruby 编程语言在 Java 虚拟机(JVM)上的实现。本 Docker 镜像封装了 JRuby 运行环境,旨在提供便捷、一致的方式部署和运行 Ruby 应用程序。通过利用 JVM 的特性,JRuby 能够提供原生线程支持、增强的垃圾回收机制,并允许直接导入和使用 Java 库,适用于需要结合 Ruby 语法灵活性与 JVM 平台稳定性的场景。
JRE 镜像(Java 运行时环境):
latest, 10, 10.0, 10.0.2, 10.0-jre, 10.0-jre21, 10.0.2-jre, 10.0.2-jre21, 10.0.2.0, 10.0.2.0-jre, 10.0.2.0-jre2110.0-jre25, 10.0.2-jre25, 10.0.2.0-jre25JDK 镜像(Java 开发工具包):
10-jdk, 10-jdk21, 10.0-jdk, 10.0-jdk21, 10.0.2-jdk, 10.0.2-jdk21, 10.0.2.0-jdk, 10.0.2.0-jdk2110.0-jdk25, 10.0.2-jdk25, 10.0.2.0-jdk25开发版镜像:
10.0-dev-jre21, 10.0-dev-jdk21, 10.0-dev-jre25, 10.0-dev-jdk25JRE 镜像:
9, 9.4, 9.4.14, 9.4-jre, 9.4-jre8, 9.4.14-jre, 9.4.14-jre8, 9.4.14.0, 9.4.14.0-jre, 9.4.14.0-jre89.4-jre11, 9.4.14-jre11, 9.4.14.0-jre119.4-jre17, 9.4.14-jre17, 9.4.14.0-jre179.4-jre21, 9.4.14-jre21, 9.4.14.0-jre219.4-jre25, 9.4.14-jre25, 9.4.14.0-jre25JDK 镜像:
9-jdk, 9-jdk8, 9.4-jdk, 9.4-jdk8, 9.4.14-jdk, 9.4.14-jdk8, 9.4.14.0-jdk, 9.4.14.0-jdk89.4-jdk11, 9.4.14-jdk11, 9.4.14.0-jdk119.4-jdk17, 9.4.14-jdk17, 9.4.14.0-jdk179.4-jdk21, 9.4.14-jdk21, 9.4.14.0-jdk219.4-jdk25, 9.4.14-jdk25, 9.4.14.0-jdk25开发版镜像:9.4-dev-jre8, 9.4-dev-jdk8, 9.4-dev-jre11, 9.4-dev-jdk11, 9.4-dev-jre17, 9.4-dev-jdk17, 9.4-dev-jre21, 9.4-dev-jdk21, 9.4-dev-jre25, 9.4-dev-jdk25
JRE 镜像:
9.3, 9.3.15, 9.3-jre, 9.3-jre8, 9.3.15-jre, 9.3.15-jre8, 9.3.15.0, 9.3.15.0-jre, 9.3.15.0-jre89.3-jre11, 9.3.15-jre11, 9.3.15.0-jre119.3-jre17, 9.3.15-jre17, 9.3.15.0-jre179.3-jre21, 9.3.15-jre21, 9.3.15.0-jre21JDK 镜像:
9.3-jdk, 9.3-jdk8, 9.3.15-jdk, 9.3.15-jdk8, 9.3.15.0-jdk, 9.3.15.0-jdk89.3-jdk11, 9.3.15-jdk11, 9.3.15.0-jdk119.3-jdk17, 9.3.15-jdk17, 9.3.15.0-jdk179.3-jdk21, 9.3.15-jdk21, 9.3.15.0-jdk21在 Ruby 项目根目录创建 Dockerfile:
dockerfileFROM jruby:10 # 可替换为其他支持的标签,如 jruby:9.4-jre17 # 配置 bundle 全局冻结 Gemfile(若 Gemfile 修改则抛出错误) RUN bundle config --global frozen 1 WORKDIR /usr/src/app # 复制 Gemfile 和 Gemfile.lock 并安装依赖 COPY Gemfile Gemfile.lock ./ RUN bundle install # 复制应用代码 COPY . . # 启动命令(根据实际应用调整) CMD ["./your-daemon-or-script.rb"]
构建并运行镜像:
console$ docker build -t my-ruby-app . $ docker run -it --name my-running-app my-ruby-app
若项目中没有 Gemfile.lock,可通过以下命令生成:
console$ docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app jruby:10 bundle install --system
该命令会挂载当前目录到容器内,执行 bundle install 生成 Gemfile.lock。
无需创建 Dockerfile,直接运行本地 Ruby 脚本:
console$ docker run -it --rm \ --name my-running-script \ -v "$PWD":/usr/src/myapp \ # 挂载当前目录到容器内 /usr/src/myapp -w /usr/src/myapp \ # 设置工作目录 jruby:10 \ # 使用的镜像标签 jruby your-script.rb # 执行脚本命令
镜像中包含的 JRuby 软件许可证信息参见 JRuby 官方许可文档。
本镜像基于基础 Linux 发行版构建,可能包含其他软件(如 Bash、核心工具等),其许可证需参考对应基础镜像及依赖组件的许可条款。
额外自动检测的许可证信息可在 repo-info 仓库的 jruby 目录 中查看。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务