在Docker中dynamic加载Ruby容器

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

FROM ruby:2.2.3 

我的应用程序已经包含一个在其他地方用来设置版本的.ruby-version文件。 我真的很喜欢避免在我的Dockerfile中重复版本号。 本质上,我想要做这样的事情:

 Ruby ruby:$(cat .ruby-verison) 

上述命令不起作用。 有没有其他方式与Docker完成同样的事情?

你可以使用RVM来完成这个。 只要安装了rvm不pipe你使用什么rvm 。 这里是一个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