これは私が私のDockerfile
に持っているものです。DockerにRVMを正しくインストールするには?
RUN gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
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.3.3"
は正常に動作しますが、しかし、私はコンテナを起動したとき、私はこれを参照してください。もちろん
$ docker -it --rm myimage /bin/bash
/root# ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
/root# /bin/bash -l -c "ruby --version"
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
を、これは私が欲しいものではありません。私が理解する限り、問題はbash
がデフォルトで/etc/profile
を実行しないということです。だからRubyはRVMのインストールから来ていません。どうすれば修正できますか?
質問:なぜドッキングウィンドウコンテナの内側にRVMを使うのか?私の経験ではdockerはrvmを廃止しました。あなたは必要なルビーバージョンごとに新しいコンテナを立ち上げます。私が行方不明になっているものがあります。なぜ、dockerでrvmを使用しているのか不思議です。 –
良い質問です。これは、汎用のDocker画像で、多くのプロジェクトで使用されています。各プロジェクトは独自のDockerイメージを作成する必要なく、 'rvm install 2.1.0'と言うだけで独自のRubyバージョンを使用する能力が必要です。すべてこれはwww.rultor.comプロジェクトで行われます。 – yegor256
興味深い....そのシナリオでは、私はあなたが特定のルビーバージョンを選択する前に必要なすべてを含むベースイメージを作成します。そこからベースイメージから 'FROM'を継承し、必要な特定のルビバージョンをインストールする追加のdockerfilesを作成します。 rvmは必要ありません。もちろん、私は状況を極端に単純化しています。実際の生活ではそれほど簡単ではないかもしれません:) –