web-dev-qa-db-ja.com

ドッカーにRubyをインストールするには?

Ruby dockerにインストールしようとしています。1.9バージョンをインストールできましたが、2.2.0以降などの最新バージョンをインストールできません。実際にひょうたんを設定しようとしていますドッカーで。 this を試してみました。そこにcalabash-Androidをインストールしようとするたびにエラーが発生します

ERROR:  Error installing calabash-Android:
luffa requires Ruby version >= 2.0.
9
Muneer Muhammed

次で始まるdockerfileの表示を開始できます。

FROM Ruby:2.3.0

docker image Ruby を使用し、Rubyが既にインストールされています。

10
VonC

別のベースDockerインスタンスをFROM起動する場合は、ベースインスタンスのパッケージ管理システムからRubyをインストールするRUNコマンドを使用するだけです。たとえば、 this GitHub Gist は、apt-getを使用してUbuntuインスタンスにRubyをインストールする方法を示しています。

# Pull base image.
FROM dockerfile/ubuntu

# Install Ruby.
RUN \
  apt-get update && \
  apt-get install -y Ruby

そして this Gist は、RVMおよびRubyをUbuntuインスタンスにインストールするように構成されているDockerfileを示しています。

FROM ubuntu

RUN apt-get update

# basics
RUN apt-get install -y openssl

# install RVM, Ruby, and Bundler
RUN \curl -L https://get.rvm.io | bash -s stable
RUN /bin/bash -l -c "rvm requirements"
RUN /bin/bash -l -c "rvm install 2.0"
RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc"
13
Kevin

これにより、Rubyは、bashだけでなく、将来のRUNコマンドで使用できるようになります。

FROM debian:stretch-slim
RUN \
  apt-get update && apt-get install -y --no-install-recommends --no-install-suggests curl bzip2 build-essential libssl-dev libreadline-dev zlib1g-dev && \
  rm -rf /var/lib/apt/lists/* && \
  curl -L https://github.com/sstephenson/Ruby-build/archive/v20180329.tar.gz | tar -zxvf - -C /tmp/ && \
  cd /tmp/Ruby-build-* && ./install.sh && cd / && \
  Ruby-build -v 2.5.1 /usr/local && rm -rfv /tmp/Ruby-build-* && \
  gem install bundler --no-rdoc --no-ri
7
grosser

@Jacobと@grosserのおかげで、私は同様の方法で鉱山をセットアップすることができました。

# Install Local Ruby
RUN git clone https://github.com/rbenv/rbenv.git ~/.rbenv \
  &&  echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc \
  &&  echo 'eval "$(rbenv init -)"' >> ~/.bashrc

ENV HOME /home/jenkins # Change this dir as needed.
ENV PATH "$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"
ENV Ruby_VERSION 2.6.3

RUN mkdir -p "$(rbenv root)"/plugins \
    && git clone https://github.com/rbenv/Ruby-build.git "$(rbenv root)"/plugins/Ruby-build

RUN rbenv install $Ruby_VERSION

RUN rbenv global $Ruby_VERSION && rbenv versions && Ruby -v

# RUN curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash # Uncomment this to get rbenv to validate your setup.
0