You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Docker运行Site Inspector时遇Error 1的解决咨询

解决Site Inspector容器Exit Code 1(缺失secret_key_base)问题

问题场景

已克隆Site Inspector仓库,在Microsoft PowerShell执行以下命令启动容器:

git clone https://github.com/siteinspector/siteinspector.git
cd siteinspector
docker-compose up

redis、postgres镜像成功加载,但app容器以Exit Code 1退出,关键日志如下:

siteinspector-app-1       | rake aborted!
siteinspector-app-1       | ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `bin/rails credentials:edit`
siteinspector-app-1       | Tasks: TOP => db:migrate => db:load_config => environment
siteinspector-app-1 exited with code 1

解决方案

该错误源于Rails生产环境必须配置secret_key_base用于加密会话和敏感数据,以下是两种可行解决方法:

方法1:注入secret_key_base环境变量

  • 在项目根目录创建.env文件,添加:
    SECRET_KEY_BASE=你的随机密钥
    
    可通过本地Ruby环境运行rails secret生成合规密钥,或使用任意32位以上的随机字符串
  • 编辑docker-compose.yml,在app服务的environment节点中添加:
    - SECRET_KEY_BASE=${SECRET_KEY_BASE}
    
  • 重启容器:
    docker-compose down
    docker-compose up
    

方法2:切换至开发环境运行(适合本地测试)

如果仅做本地测试,无需生产环境配置:

  • 编辑docker-compose.yml,在app服务的environment中添加:
    - RAILS_ENV=development
    
  • 或修改app服务的启动命令,加入环境变量:
    command: bash -c "RAILS_ENV=development bundle install && rake db:migrate && rails server -b 0.0.0.0 -p 8080"
    
  • 重启容器:
    docker-compose down
    docker-compose up
    

内容的提问来源于stack exchange,提问作者cmayne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 22:37:37