Docker:Ruby版本从2.2.0升级到2.4.0

时间:2019-10-01 09:17:26

标签: ruby docker docker-compose ruby-on-rails-5 ruby-2.4

我在Rails应用程序中使用的是Ruby版本2.2.0,而Rails版本是4.2.0。 目前,Project是通过docker构建的,因此我正在考虑将ruby版本升级为2.4.0版本。

我相信我需要更改docker映像以升级ruby版本。

我已经检查了一些文章,但是没有得到足够的信息。

Docker文件

FROM ruby:2.2.0

RUN apt update && \
  apt install -y --no-install-recommends \
  git \
  curl \
  gnupg2 \
  libpq-dev \
  libmysqlclient-dev \
  nodejs \
  graphviz \
  && rm -rf /var/lib/apt/lists/*

一旦升级了红宝石版本,那么我将升级Rails版本。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您始终可以这样构建自己的Docker映像:

FROM ubuntu

RUN apt-get update
RUN apt-get install -y build-essential wget

RUN wget --no-check-certificate -O ruby-install.tar.gz https://github.com/postmodern/ruby-install/archive/master.tar.gz
RUN tar -xzvf ruby-install.tar.gz
RUN cd ruby-install-master && make install
RUN cd /
RUN rm -rf ruby-install-master && rm -rf ruby-install.tar.gz

RUN ruby-install --latest
RUN ruby-install -i /usr/local/ ruby 2.4.0 -- --disable-install-doc

RUN gem update --system --no-document
RUN gem install bundler --force

答案 1 :(得分:0)

取决于如何管理ruby应用程序和ruby版本。这是我要检查的几件事:

  1. 如果使用了bundler,则更新Gemfile

    $ cat Gemfile | head -n 1
    ruby '2.4.0'
    
  2. 如果使用了rbenv或[.ruby-version] [3],则更新rvm

    $ cat .ruby-version
    2.4.0
    
  3. 如果使用了docker,则更新Dockerfile

    $ cat Dockerfile | grep FROM
    FROM ruby:2.4.0