Docker で Ruby (rbenv) のインストールがうまくいかない


Docker上(CentOS7)でrubyをインストールしています。

Dockerfile内の以下のコマンドで実行は正常にされたものの、

[code]

    RUN rbenv install 2.7.1
    
[/code]

ビルド後、コンテナのbashに入って`ruby -v`で確認すると、

[code]

    bash: ruby: command not found
    
[/code]

正常にインストールされていない状態で何が原因なのかわからない状況です。  
パスの設定か？と思いましたが、下記のソースコードの通り特に問題はない気がしています。

解決策を教えていただけると助かります。

# ソースコード

~/.bash_profile

[code]

    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
        . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    PATH=$PATH:$HOME/bin
    
    export PATH
    export RBENV_ROOT="/usr/local/rbenv"
    export PATH="${RBENV_ROOT}/bin:${PATH}"
    eval "$(rbenv init --no-rehash -)"
    
[/code]

Dockerfile

[code]

    FROM centos:7.7.1908
    
    ENV LANG C.UTF-8
    ENV TZ Asia/Tokyo
    
    RUN yum -y update
    RUN yum install -y git tzdata libxml2-devel.x86_64 libcurl-devel.x86_64 gcc-c++.x86_64 glibc-devel.x86_64 mariadb-devel.x86_64 ImageMagick.x86_64 bzip2 make which
    
    RUN git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv
    RUN git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plugins/ruby-build
    
    RUN echo 'export RBENV_ROOT="/usr/local/rbenv"' >> ~/.bash_profile
    RUN echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> ~/.bash_profile
    RUN echo 'eval "$(rbenv init --no-rehash -)"' >> ~/.bash_profile
    ENV PATH=/usr/local/rbenv/bin:$PATH
    RUN ./usr/local/rbenv/plugins/ruby-build/install.sh
    
    RUN rbenv install 2.7.1
    RUN rbenv global 2.7.1
    
[/code]

dokcer-compose.yml

[code]

    version: '3'
    
    services:
      rails:
        build: .
        tty: true
        volumes:
          - .:/var/www
        working_dir: /var/www
        command: bash
        ports:
          - '3000:3000'
    
[/code]




複数のバージョンの `ruby` を使いわける必要がないのなら、 `rbenv` は不要で `ruby-build` だけを使うのがオススメです。

[code]

    RUN git clone --depth=1 https://github.com/rbenv/ruby-build && PREFIX=/usr/local ./ruby-build/install.sh && rm -rf ruby-build
    RUN ruby-build 2.7.1 /usr/local
    
[/code]

のように `ruby-build` と `ruby` を `/usr/local` にインストールしてしまえば `PATH` を追加する必要もなくなります。




複数のバージョンの `ruby` を使いわける必要がないのなら、 `rbenv` は不要で `ruby-build` だけを使うのがオススメです。

[code]

    RUN git clone --depth=1 https://github.com/rbenv/ruby-build && PREFIX=/usr/local ./ruby-build/install.sh && rm -rf ruby-build
    RUN ruby-build 2.7.1 /usr/local
    
[/code]

のように `ruby-build` と `ruby` を `/usr/local` にインストールしてしまえば `PATH` を追加する必要もなくなります。

