ruby-on-rails - 在Docker中动态加载Ruby容器

标签 ruby-on-rails ruby docker

我正在为Rails项目设置一个Dockerfile。为此,我要像这样加载Ruby Docker容器:

FROM ruby:2.2.3

我的应用程序已经包含一个.ruby-version文件,该文件已在其他地方用于设置版本。我真的很想避免在Dockerfile中复制版本号。本质上,我想做这样的事情:
Ruby ruby:$(cat .ruby-verison)

上面的命令不起作用。还有其他方法可以用Docker完成同一件事吗?

最佳答案

您可以使用RVM完成此操作。只要使用安装了rvm的 docker 镜像都无所谓。这是一个示例Dockerfile:

 FROM yograterol:fedora-rvm
 ADD 'your_script.sh' '/'
 ADD '.ruby-version' '/'
 RUN 'sh /your_script.sh'

这是your_script.sh的样子:
 ruby_version=$(cat .ruby-version)
 rvm install ruby-$ruby_version
 rvm use ruby-$ruby_version

关于ruby-on-rails - 在Docker中动态加载Ruby容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534696/

相关文章:

ruby-on-rails - MongoMapper 和迁移

ruby-on-rails - rails : An elegant way to display a message when there are no elements in database

css - Ruby:网页的计算样式

ruby-on-rails - rbenv : version `2.0.0' is not installed

mysql - Flask + MySQL + PHP + Docker-Compose = 痛苦

docker - 运行 systemctl 启动 newrelic-infra,错误 :Failed to get D-Bus connection: Operation not permitted

ruby-on-rails - 如何将 http url 的空格转换为加号 (+)?

ruby-on-rails - 在 Controller View 中访问公共(public)文件。 Rails 将当前 Controller 的路径视为相对路径

ruby-on-rails - 博客 Gem/Rails 引擎/Mongoid

powershell - Docker 测试套件路径中的 Katalon