parkwhiz/rails-base本镜像为 ParkWhiz Ruby on Rails 应用的专用基础镜像,基于 Alpine Linux 构建,预配置 Ruby、Rails、Phusion Passenger 和 Nokogiri 等核心依赖。旨在简化 ParkWhiz 内部 Ruby on Rails 服务器容器的部署流程,提供开箱即用的 Rails 运行环境。
Gemfile、config.ru 等)。docker run)bashdocker run -d \ --name parkwhiz-rails-app \ -v /path/to/local/rails/app:/app # 挂载本地 Rails 应用代码到容器内 /app 目录 -e RAILS_ENV=production # 设置 Rails 环境(开发环境可改为 development) -p 3000:3000 # 暴露容器 3000 端口到主机 parkwhiz/rails-base:latest # 镜像名称(需替换为实际镜像名及标签)
/path/to/local/rails/app:本地 Rails 应用代码的绝对路径,容器会读取该目录下的应用文件。/app 目录下的 Rails 应用,并通过 passenger start 启动服务,默认监听 3000 端口。docker-compose.yml)yamlversion: '3.8' services: rails-app: image: parkwhiz/rails-base:latest # 基础镜像 container_name: parkwhiz-rails-app restart: always # 生产环境建议设置为 always,确保服务异常退出后自动重启 volumes: - ./rails-app:/app # 挂载当前目录下的 rails-app 目录到容器 /app - bundle:/usr/local/bundle # 持久化 RubyGems 依赖(避免重复安装) environment: - RAILS_ENV=production - DATABASE_URL=postgres://user:password@db:5432/app_db # 数据库连接地址(示例) ports: - "3000:3000" depends_on: - db # 若依赖数据库,需定义 db 服务(如下) # 数据库服务示例(PostgreSQL) db: image: postgres:14-alpine volumes: - postgres-data:/var/lib/postgresql/data environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=app_db volumes: bundle: # 持久化 RubyGems 依赖 postgres-data: # 持久化数据库数据
bashdocker-compose up -d # 后台启动服务
| 变量名 | 说明 | 默认值 |
|---|---|---|
RAILS_ENV | Rails 运行环境(development/test/production) | development |
PASSENGER_PORT | Passenger 监听端口 | 3000 |
parkwhiz/rails-base:ruby3.2-rails7.0),不支持运行时修改。config/passenger.conf 文件覆盖默认配置(如工作进程数、超时时间等)。/app)默认权限为 root,若本地开发需修改文件,可通过 docker run -u $(id -u):$(id -g) 映射当前用户 UID/GID 避免权限冲突。Gemfile 变更,需重新构建镜像或进入容器执行 bundle install。docker logs parkwhiz-rails-app 查看应用及 Passenger 运行日志。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务