
一个包含大多数常见构建依赖的Ruby镜像,可用于编译原生GEM。镜像大小仅329.7 MB,在优化最小开销的同时,包含nokogiri、curb或mysql2等常见GEM所需的所有依赖。基础镜像是最小化的Ubuntu 14.04,便于灵活安装更多特殊Ruby应用。
镜像名称
cloudgear/ruby:2.2
其他变体和版本如下所述。
快速使用
$ docker run -it cloudgear/ruby:2.2 ruby -e 'puts "Hello small Ruby image with version #{RUBY_VERSION}"' Hello small Ruby image with version 2.2.0
该镜像仅329.7 MB,并包含大多数常见构建依赖。此外,镜像基于标准Ubuntu 14.04基础镜像,因此大多数应用应能顺利安装。
我们曾研究过更精简的Linux发行版作为基础镜像,但安装Ruby GEM所需的常见依赖后,这些镜像的大小与本镜像相近,有时甚至更大。而基于Ubuntu的镜像因其完善的文档和广泛的通用知识,使用起来更便捷。
如果应用不需要构建依赖,可使用minimal镜像版本,大小仅222.7 MB。
类似镜像的大小是本镜像的两倍以上。我们研究了流行的Docker Ruby镜像:
半官方Ruby镜像 ruby:2.2.0 774.7 MB 无构建依赖(无法编译原生GEM) ruby:2.2.0-slim 299.3 MB Atlas Health(仅含最小构建依赖:libcurl和libxml) atlashealth/ruby 347.2 MB
半官方的Ruby-slim镜像仅小30 MB,但完全不含构建依赖,因此所有带原生扩展的GEM都无法安装。相比之下,CloudGear的最小Ruby镜像仅222.7 MB。
该镜像有多种变体和版本。详细信息请查看https://github.com/cloudgear-images/ruby%E4%B8%AD%E7%9A%84%E5%AF%B9%E5%BA%94Dockerfile%E3%80%82
包含指定的Ruby版本、最新的Rubygems和Bundler包,以及常见构建依赖。基于cloudgear/build-deps镜像,https://github.com/cloudgear-images/build-deps%E6%9B%B4%E5%A4%9A%E8%AF%A6%E6%83%85%E3%80%82
镜像名称:仅含版本标签,无后缀,例如cloudgear/ruby:2.2
已测试GEM
大多数带原生扩展的常见GEM可正常安装,我们已测试以下GEM:
欢迎帮助测试和支持其他带原生扩展的GEM,如有问题请通过https://github.com/cloudgear-images/ruby/issues%E5%8F%8D%E9%A6%88%E3%80%82%E6%84%9F%E8%B0%A2%E6%94%AF%E6%8C%81%E3%80%82
与完整镜像相同,但额外包含Dockerfile ONBUILD指令,可通过简单的空Dockerfile安装基于Bundler的Ruby应用。
镜像名称:带-onbuild后缀的标签,例如cloudgear/ruby:2.2-onbuild
提供最小化的Ruby镜像,包含Ruby、最新的Rubygems和Bundler包,以及仅最小的构建依赖。大多数带原生扩展的GEM无法安装。但只要应用不依赖此类GEM,minimal版本即可满足需求。此外,可自行添加所需依赖,以保持应用镜像尽可能小。
镜像名称:带-minimal后缀的标签,例如cloudgear/ruby:2.2-minimal
运行IRB
$ docker run -it cloudgear/ruby:2.2 irb
运行单个Ruby命令
$ docker run cloudgear/ruby:2.2 ruby -e 'puts "A simple Ruby demo"' A simple Ruby demo
Dockerfile
要构建包含特定GEM的自定义镜像,创建Dockerfile:
FROM cloudgear/ruby:2.2 RUN gem install haml ENTRYPOINT ["haml"]
Onbuild镜像可轻松将Ruby应用容器化。只需在应用根目录创建如下Dockerfile:
FROM cloudgear/ruby:2.2-onbuild CMD ["./your-script.rb"]
仅此而已!要求应用包含Gemfile和Gemfile.lock。ONBUILD触发器适用于大多数Ruby应用:构建时会复制Gemfile和Gemfile.lock,运行bundle install,并将应用复制到/usr/src/app。
然后构建并运行应用:
docker build -t my-ruby-app . docker run -it my-ruby-app
运行IRB或Ruby命令的方式与完整镜像相同。若要创建针对应用优化的Ruby镜像(仅含特定构建依赖),可创建Dockerfile。例如,仅安装MySQL依赖:
FROM cloudgear/ruby:2.2-minimal RUN apt-get update -q && apt-get install -yq --no-install-recommends \ libmysqlclient-dev && \ # 清理 rm -rf /var/lib/apt/lists/* && \ truncate -s 0 /var/log/*log
这样可保持镜像体积很小,同时支持安装带原生扩展的GEM。
CloudGear提供基于此Ruby镜像的优化Rails镜像。详情请查看https://github.com/cloudgear-images/rails%E4%BB%93%E5%BA%93%E3%80%82
该镜像有多种变体,支持最新的Ruby 2.1和2.2版本。
所有变体和版本:
cloudgear/ruby:2.1cloudgear/ruby:2.1-onbuildcloudgear/ruby:2.1-minimalcloudgear/ruby:2.2cloudgear/ruby:2.2-onbuildcloudgear/ruby:2.2-minimal欢迎贡献新功能、修复、版本更新和其他优化。请提交pull request,如有问题或疑问,可通过https://github.com/cloudgear-images/ruby%E5%8F%8D%E9%A6%88%E3%80%82
该镜像配置为Docker自动构建,每次推送代码时会自动构建并推送到Docker仓库。
MIT许可证。版权所有 2015 CloudGear
!CloudGear Container Platform
由CloudGear提供。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

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