在Docker中动态加载Ruby容器



我正在为我的Rails项目设置一个Dockerfile。为此,我加载Ruby Docker容器,如下所示:

FROM ruby:2.2.3

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

Ruby ruby:$(cat .ruby-verison)

以上命令无效。有没有其他方法可以用Docker完成同样的事情?

您可以使用RVM来实现这一点。使用什么docker镜像并不重要,只要它安装了rvm即可

 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

最新更新