bitnami/rubyRuby on Rails 是一个全栈开发环境,以程序员幸福感和可持续生产力为优化目标。它通过"约定优于配置"的原则,让你能够编写优雅的代码。
Ruby官方概述
商标说明:本软件包由Bitnami打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或背书。
consoledocker run -it --name ruby bitnami/ruby:latest
自2025年8月28日起,Bitnami将升级其公共镜像目录,通过新的Bitnami安全镜像计划提供精选的强化安全镜像集。此次变更包括:
这些变更旨在通过推广软件供应链完整性最佳实践和最新部署,提升所有Bitnami用户的安全态势。更多详情请访问Bitnami安全镜像公告。
仅部分BSI应用可免费使用。如需访问完整应用目录及企业支持,请尝试Bitnami安全镜像商业版。
了解Bitnami标签策略及滚动标签与不可变标签的区别,请参阅官方文档。
不同标签的对应关系可通过分支文件夹中的tags-info.yaml文件查看,例如bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml。
订阅项目更新请关注bitnami/containers GitHub仓库。
prod标签已移除,仅发布常规容器镜像prod标签格式变更:
BRANCH-debian-10-prod 变更为 BRANCH-prod-debian-10VERSION-debian-10-rX-prod 变更为 VERSION-prod-debian-10-rXlatest-prod 标签已弃用推荐通过Docker Hub Registry拉取预构建镜像:
consoledocker pull bitnami/ruby:latest
如需特定版本,可拉取带版本标签的镜像。查看可用版本列表。
consoledocker pull bitnami/ruby:[TAG]
如需手动构建,克隆仓库后执行构建命令(替换APP、VERSION和OPERATING-SYSTEM占位符):
consolegit clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
默认情况下,运行此镜像将启动Ruby交互式解释器(irb),可在此进行Ruby代码测试:
consoledocker run -it --name ruby bitnami/ruby:latest
延伸阅读:Ruby IRB文档
Ruby镜像的默认工作目录为/app。可将主机目录挂载至此,并通过ruby命令运行脚本:
consoledocker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ ruby script.rb
若应用通过Gemfile定义依赖,可先安装依赖再运行应用:
consoledocker run -it --name ruby -v /path/to/app:/app bitnami/ruby:latest \ sh -c "bundle install && ruby script.rb"
或通过docker-compose.yml配置(参考官方示例):
yamlruby: image: bitnami/ruby:latest command: "sh -c 'bundle install && ruby script.rb'" volumes: - .:/app
延伸阅读:
镜像默认暴露容器内3000端口。需确保Web服务器绑定至0.0.0.0:3000以接受外部连接。
示例:使用Sinatra框架监听0.0.0.0:3000的应用:
rubyrequire 'sinatra' set :bind, '0.0.0.0' set :port, 3000 get '/hi' do "Hello World!" end
consoledocker run -it --name ruby -P bitnami/ruby:latest
通过docker port命令查看映射端口:
console$ docker port ruby 3000/tcp -> 0.0.0.0:32769
8080)映射至容器3000端口consoledocker run -it --name ruby -p 8080:3000 bitnami/ruby:latest
访问应用:http://localhost:8080
Bitnami安全镜像提供FIPS模式配置,通过以下环境变量设置:
OPENSSL_FIPS:是否启用OpenSSL FIPS模式。可选值:yes(默认)、no通过Docker网络可实现Ruby服务与其他容器(如Nginx)的通信。以下以Nginx作为前端代理为例说明。
将Ruby Web服务通过Nginx暴露,可实现静态资源服务、负载均衡等高级配置。
Docker命令:
consoledocker network create app-tier --driver bridge
Docker Compose配置:
yamlversion: '2' networks: app-tier: driver: bridge
创建Nginx配置文件(反向代理至Ruby容器):
nginxserver { listen 0.0.0.0:80; server_name yourapp.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header HOST $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass [***] # 使用Ruby容器的网络别名 proxy_redirect off; } }
保存文件(如vhost.conf),后续将作为卷挂载至Nginx容器。
Docker命令:
consoledocker run -it --name myapp \ --network app-tier \ -v /path/to/app:/app \ bitnami/ruby:latest ruby script.rb
Docker Compose配置:
yamlversion: '2' services: myapp: image: bitnami/ruby:latest command: ruby script.rb networks: - app-tier volumes: - .:/app
Docker命令:
consoledocker run -it \ -v /path/to/vhost.conf:/bitnami/nginx/conf/vhosts/yourapp.conf \ --network app-tier \ bitnami/nginx:latest
Docker Compose配置:
yamlversion: '2' services: nginx: image: bitnami/nginx:latest networks: - app-tier volumes: - /path/to/vhost.conf:/bitnami/nginx/conf/vhosts/yourapp.conf
Bitnami会及时更新Ruby镜像(包括安全补丁),建议按以下步骤升级:
consoledocker pull bitnami/ruby:latest
(Docker Compose用户需更新image字段为bitnami/ruby:latest)
consoledocker rm -v ruby
(Docker Compose用户执行:docker-compose rm -v ruby)
consoledocker run --name ruby bitnami/ruby:latest
(Docker Compose用户执行:docker-compose up ruby)
root用户执行。可通过--user参数切换用户,或使用sudo提权(Docker 1.10+支持用户命名空间,详见官方文档)。/app目录为卷。如需保留旧行为(以便在其他容器中挂载),启动容器时添加-v /app参数。bitnami用户可无需sudo安装gems。注意:此文件未经内部测试,建议仅用于开发或测试环境。如发现问题,可按贡献指南提交反馈或修复。
欢迎为此容器贡献代码。可通过提交issue提出新功能需求,或通过提交PR贡献代码。
如运行容器时遇到问题,请提交issue。为获得更好支持,请按模板填写详细信息。
Copyright © 2025 Broadcom。"Broadcom"指Broadcom Inc.及其子公司。
本软件基于Apache License 2.0许可协议发布。详情请参阅许可协议。
除非***要求或书面同意,软件按"原样"分发,不提供任何明示或暗示的担保或条件。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务