目次
Dockerfile でsource ~/.bashrc ができない
- Dockerfile ではデフォルトのシェルはsh
- shではsourceは実行できない
対策1:デフォルトのシェルをbashに変更
- デフォルトのシェルをbashに変更した
SHELL [/bin/bash,-lc]
Dockerfile でasdf が実行できない
- RUN asdf に失敗する
- asdfが見つからない
- しかしDocker内部ではasdfを実行できる
原因
- DockerfileではRUNごとに異なるシェルが実行される
効果がなかったこと
- 同一のRUNで
source ~/.bashrc
とasdf install
を実行- asdfが実行できない
bash/exec
でbashを再起動- asdfが実行できない
最終的な対処
apt install python3
感想
- Dockerとasdfと何重にも仮想環境を重ねることにどれだけの意味があるだろうか?