我正在为我的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