如何在Docker镜像中更改Ruby的版本(用2.0.0replace2.2.0)

Heroku Docker映像heroku / ruby​​安装ruby 2.2.3。

我如何使用该图像,但使用Ruby 2.0.0(试图Dockerize Rails 3.2应用程序)。

我知道Heroku buildpack for 2.0.0的位置是

https://heroku-buildpack-ruby.s3.amazonaws.com/cedar-14/ruby-2.0.0.tgz 

但不能看到如何修改我的Dockerfile,以便它将使用该版本的Ruby。

我试过了:

 # Dockerfile FROM heroku/ruby # Install Ruby ONBUILD RUN curl -s --retry 3 -L https://heroku-buildpack-ruby.s3.amazonaws.com/cedar-14/ruby-2.0.0.tgz | tar xz -C /app/heroku/ruby/ruby-2.2.0 

我希望可以用2.0.0覆盖2.2.0(保持path相同),但是当我运行docker-compose build时忽略了这个命令

这是我最终做的(ruby和节点)在同一个docker文件再现heroku环境:

 FROM heroku/heroku:16 # Ruby dependencies RUN apt-get update -qq && \ apt-get install -y -q --no-install-recommends \ build-essential\ libpq-dev\ libxml2-dev\ libxslt1-dev\ nodejs\ npm \ qt5-default\ libqt5webkit5-dev\ gstreamer1.0-plugins-base\ gstreamer1.0-tools\ gstreamer1.0-x\ xvfb \ && rm -rf /var/lib/apt/lists/* \ && truncate -s 0 /var/log/*log # Ruby heroku RUN apt remove -y --purge ruby && curl -s --retry 3 -L https://heroku-buildpack-ruby.s3.amazonaws.com/heroku-16/ruby-2.3.4.tgz | tar -xz # Node heroku RUN export NODE_VERSION=6.11.0 && \ curl -s --retry 3 -L https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz -o /tmp/node-v$NODE_VERSION-linux-x64.tar.gz && \ tar -xzf /tmp/node-v$NODE_VERSION-linux-x64.tar.gz -C /tmp && \ rsync -a /tmp/node-v$NODE_VERSION-linux-x64/ / && \ rm -rf /tmp/node-v$NODE_VERSION-linux-x64* WORKDIR /var/app 

你需要用正确的版本自己构build一个图像。 根据需要更改此Dockerfile – https://github.com/heroku/docker-ruby/blob/master/Dockerfile