
anyoneas/railsRails基础镜像是专为Ruby on Rails(RoR)应用设计的标准化容器基础环境,旨在提供预配置的运行时环境,减少开发与部署过程中的环境配置工作。该镜像集成Ruby运行时、Rails核心依赖及常用工具链,可直接作为Rails应用容器化构建的基础层,适用于从开发、测试到生产环境的全流程容器化需求。
拉取镜像
从镜像仓库拉取指定版本(推荐指定Ruby/Rails版本标签):
bashdocker pull rails-base-image:ruby3.2-rails7.0
基本运行命令
启动交互式终端(用于开发调试):
bashdocker run -it --rm \ -v $(pwd):/app \ -p 3000:3000 \ rails-base-image:ruby3.2-rails7.0 \ bash
启动Rails应用
在容器内启动Rails服务器:
bash# 容器内执行 bundle install rails server -b 0.0.0.0
| 环境变量 | 说明 | 默认值 |
|---|---|---|
RAILS_ENV | Rails运行环境(development/test/production) | development |
BUNDLE_PATH | Bundler依赖安装路径 | /usr/local/bundle |
NODE_ENV | Node.js环境 | 与RAILS_ENV一致 |
PORT | Rails服务器监听端口 | 3000 |
通过挂载卷保存应用代码与数据:
bashdocker run -d \ -v $(pwd):/app \ # 挂载当前目录作为应用代码 -v rails-bundle:/usr/local/bundle \ # 持久化Ruby依赖 -v rails-node_modules:/app/node_modules \ # 持久化Node依赖 -p 3000:3000 \ --name my-rails-app \ rails-base-image:ruby3.2-rails7.0 \ rails server -b 0.0.0.0
yamlversion: '3.8' services: web: image: rails-base-image:ruby3.2-rails7.0 volumes: - .:/app - bundle:/usr/local/bundle - node_modules:/app/node_modules ports: - "3000:3000" environment: - RAILS_ENV=development - DATABASE_URL=postgres://user:pass@db:5432/myapp depends_on: - db db: image: postgres:14 environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=pass - POSTGRES_DB=myapp volumes: - pgdata:/var/lib/postgresql/data volumes: bundle: node_modules: pgdata:
dockerfile# 构建阶段:安装依赖并编译资产 FROM rails-base-image:ruby3.2-rails7.0 AS builder WORKDIR /app COPY Gemfile* ./ RUN bundle install --without development test COPY package.json yarn.lock ./ RUN yarn install COPY . . RUN RAILS_ENV=production bundle exec rails assets:precompile # 运行阶段:仅保留运行时依赖 FROM rails-base-image:ruby3.2-rails7.0 WORKDIR /app COPY --from=builder /usr/local/bundle /usr/local/bundle COPY --from=builder /app/public/assets /app/public/assets COPY --from=builder /app/node_modules /app/node_modules COPY . . ENV RAILS_ENV=production CMD ["rails", "server", "-b", "0.0.0.0"]



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