如何更改Docker镜像中的Ruby版本(用2.0.0替换2.2.0)

时间:2015-08-28 04:22:53

标签: ruby heroku docker

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(保持路径等相同)但是当我运行docker-compose build

时该命令被忽略

2 个答案:

答案 0 :(得分:3)

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

/Users/Downloads/DocumentDB-Quickstart-Xamarin/packages/Xamarin.Forms.2.3.3.180/build/portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20/Xamarin.Forms.targets(3,3): Error MSB4018: The "XamlCTask" task failed unexpectedly.
System.IO.FileNotFoundException: Could not find file "/Users/Downloads/DocumentDB-Quickstart-Xamarin/iOS/obj/iPhoneSimulator/Debug/DocumentDBTodo.iOS.exe.mdb".
File name: '/Users/Downloads/DocumentDB-Quickstart-Xamarin/iOS/obj/iPhoneSimulator/Debug/DocumentDBTodo.iOS.exe.mdb'

答案 1 :(得分:1)

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