
weinfuse/rubyRuby Docker镜像是由Ruby官方维护的容器化解决方案,包含完整的Ruby运行时环境。该镜像支持多个Ruby版本(如2.7、3.0、3.1、3.2等)及多种操作系统变体(standard、slim、alpine),可快速搭建一致的Ruby应用运行环境,简化开发、测试和部署流程。
ruby:3.2、ruby:3.3.0)ruby:3.2.2),确保环境一致性build-essential、libssl-dev),适合开发环境nokogiri、pg等gem)bash# 拉取最新稳定版(默认标签为latest,指向最新稳定版) docker pull ruby:latest # 拉取指定版本(如3.2的slim变体) docker pull ruby:3.2-slim
bash# 查看Ruby版本 docker run --rm ruby:3.2 ruby -v # 查看gem版本 docker run --rm ruby:3.2 gem -v # 查看Bundler版本 docker run --rm ruby:3.2 bundle -v
bash# 执行Ruby代码 docker run --rm ruby:3.2 ruby -e "puts 'Hello, Ruby Docker!'"
bash# 挂载当前目录到容器/app目录,执行项目中的脚本 docker run --rm -v "$PWD":/app -w /app ruby:3.2 ruby app.rb # 使用Bundler安装依赖并运行 docker run --rm -v "$PWD":/app -w /app ruby:3.2 sh -c "bundle install && bundle exec rails server"
| 环境变量 | 说明 | 默认值 |
|---|---|---|
RUBYOPT | Ruby运行时选项(如-W2开启警告) | 空 |
BUNDLE_PATH | Bundler依赖安装路径 | /usr/local/bundle |
BUNDLE_APP_CONFIG | Bundler配置目录 | /usr/local/bundle |
standard变体,完整依赖支持原生扩展编译3.2-slim或3.2-alpine(需测试项目依赖兼容性)alpine变体,配合bundle install --without development test减少依赖体积bash# 创建测试脚本 echo "puts 'Ruby version: ' + RUBY_VERSION" > test.rb # 通过容器运行 docker run --rm -v "$PWD":/app -w /app ruby:3.2 ruby test.rb # 输出:Ruby version: 3.2.2(版本号可能因镜像更新变化)
yaml# docker-compose.yml version: '3' services: web: image: ruby:3.2-slim volumes: - .:/app - bundle_data:/usr/local/bundle working_dir: /app command: sh -c "bundle install && rails server -b 0.0.0.0" ports: - "3000:3000" environment: - RAILS_ENV=production - DATABASE_URL=postgres://user:password@db:5432/app_db db: image: postgres:15 environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=app_db volumes: bundle_data:
启动命令:docker-compose up -d
ruby:3.2.2-slim),避免因镜像更新导致版本变更apk add),例如libc6-compat解决glibc兼容性问题
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务