33664
rbenv をビルドして、rubyをインストールしようと思っています。

ubuntu16.04のイメージを使用して、rbenvをgithubからとってきて、ビルドし以下のようにして、rbenv
の初期化を実行しようとしたところ、`RUN rbenv global 2.3.3` のところでエラーになります。

```

    RUN echo 'eval "$(rbenv init -)" >> /root/.profile
    RUN . /root/.profile
    RUN rbenv install 2.3.3
    RUN rbenv global 2.3.3
    RUN ruby -v
    
```

調べていくと、`eval "$(rbenv init -)"`
で設定している環境変数が設定されていないようでした。ENVを使用すれば環境変数が設定できることは知っているのですが、今回はrbenvが自動で実行するスクリプト内で設定されているので、ENVは使えないのではないか？と思っています。なにか回避策はありますでしょうか。
CC BY-SA 3.0
2017-03-31T03:49:12.153
33663
2017-03-31T05:38:53.530
18863
question
docker rbenv
Dockerfileに記述しているシェルスクリプト内で環境変数を設定したい。
Dockerfile の中の RUN
コマンドは、それぞれ別のシェルで実行されたはずです。なので、ひとつのシェルコマンドにしてしまえば、正しく動くと考えられます。

```

    RUN echo 'eval "$(rbenv init -)" >> /root/.profile && \
        . /root/.profile && \
        rbenv install 2.3.3 && \
        rbenv global 2.3.3 && \
        ruby -v
    
```
CC BY-SA 3.0
2017-03-31T05:38:53.530
33664
2017-03-31T05:38:53.530
754
33663
answer