在docker容器中运行Rails应用程序

时间:2015-06-04 10:26:54

标签: ruby-on-rails ruby linux docker debian

我想在debian机器上的docker容器中运行Rails 4.2.1应用程序。

当我运行bundle exec rails时,我收到了这个错误:

<a href="http://www.example.com" target="_blank">This will open in a new window</a>

当我运行bundle install时出现此错误:

Gem :: Ext :: BuildError:错误:无法构建gem原生扩展。

Could not find json-1.7.7 in any of the sources
Run `bundle install` to install missing gems.

出了什么问题?我现在该怎么办?

2 个答案:

答案 0 :(得分:1)

我得到了同样的错误。这个错误是因为我们使用的ruby软件(gems)版本在某些时候并不匹配。

您正在使用ruby版本2.2.1。你的Gemfile包含旧版本的宝石,它取决于json版本1.7.7。

您应该安装以下ruby版本:

ruby-1.9.3-p448

摆脱错误,或者更新与ruby版本2.2.1兼容的宝石就可以了。

答案 1 :(得分:1)

docker-rails是我刚创建的一个项目,用于使用docker(和CI)轻松实现。我认为它可以帮助您减少在docker上启动和运行rails所需的配置量。

它创建了一个全局共享gem卷(以加速bundler),并有一个示例Dockerfile供使用。

鉴于原生错误,我猜测您的Dockerfile缺少所需的包,您可能需要更新apt-get语句。