Dockerfileでasdfを実行できないことについて

目次

Dockerfile でsource ~/.bashrc ができない

  • Dockerfile ではデフォルトのシェルはsh
  • shではsourceは実行できない

対策1:デフォルトのシェルをbashに変更

  • デフォルトのシェルをbashに変更した SHELL [/bin/bash,-lc]

Dockerfile でasdf が実行できない

  • RUN asdf に失敗する
    • asdfが見つからない
  • しかしDocker内部ではasdfを実行できる

原因

  • DockerfileではRUNごとに異なるシェルが実行される

効果がなかったこと

  1. 同一のRUNでsource ~/.bashrcasdf install を実行
    1. asdfが実行できない
  2. bash/execでbashを再起動
    1. asdfが実行できない

最終的な対処

  • apt install python3

感想

  • Dockerとasdfと何重にも仮想環境を重ねることにどれだけの意味があるだろうか?

参考資料


See also