2016-02-12 2 views
0

Docker base image rails обеспечивает полную среду для Ruby on Rails. Он тянет от ruby восходящее изображение. рельсы базовое изображение указывает версии Ruby и Ruby on Rails.Как изменить версию Ruby и Rails для изображения Docker на основе Rails?

Что делать, если мы хотим использовать разные версии Ruby и Ruby on Rails?

Мы редактируем наш файл Docker в нашей папке проекта? Или мы делаем ssh в машину и устанавливаем рубиновую версию, которую хотим, а затем создаем собственный образ?

Дальнейшие детали:

В рельсах документации базового изображения говорит, что файл док может быть просто одна строкой коды:

FROM rails:onbuild 

Эта строка коды тянет из рельсов изображений на Докер-хаб. Это изображение имеет собственный файл Dockerfile. Первая строка этого Dockerfile - FROM ruby:2.2.

Просто повторите вопрос, что представляет собой лучший способ создать контейнер, основанный на рельсах , с различными версиями Ruby и Ruby on Rails? Если возможно, некоторые примеры кода могут быть полезны для понимания того, как это сделать.

ответ

1

Я предполагаю, что вы хотите изображение докеров, которое можно использовать для множества приложений с рельсами.

Я не знаю, докер на всех, но, возможно, игнорировать то, что Докер предлагает вам, и сделать это самостоятельно:

Создать образ со всеми великими версиями рубин, может быть, 1.9 и 2.3, но я думаю, вы должны просто придерживаться последнего рубина.

Использование https://github.com/rbenv/rbenv обеспечить рубинового ENV

Каждый Rails приложения обычно поставляется с Gemfile. В выпусках выпуска версии gem заблокированы в файле Gemfile.lock.

В случае камни нужно обновления, вам необходимо будет обновить код приложения, а затем драгоценные камни с

bundle install 

Так я думаю, что подмигнули не представляется возможными, чтобы иметь докер «один-подходит-все «изображение для большого количества приложений рельсов красиво.

Что-то, что я делаю при установке приложений с производительными рельсами, заключается в установке их драгоценных камней в папку приложения.

bundle install --path vendor/bundle 

Это помещает приложения gem в каталог своего поставщика. Я не вижу здесь большого шанса сделать жизнь обновлений проще.


Как я никогда не пытался докер, или даже посетил их сайт, мой пост может быть бесполезным (СРЮ) Я надеюсь, что я понял ваши намерения, по крайней мере.

Смежные вопросы