権限に悩まされない自作Dev Container
公開されたVSCodeのDev Containerなら問題はないが、コンテナを自作するとIDのミスマッチが起こり
/workspace
の読み書きが出来ない。これはローカルと同じIDのユーザがすでにbase imageにいるため。そこで、一般ユーザを全て削除することで解決した。またイメージを作成するときに指定したコンテナ内ユーザIDがローカルIDと異なっていると、パーミッションの問題は起きないが、イメージが肥大化する。そこでDocker や VSCode + Remote-Container のパーミッション問題に立ち向かうを参考にcompose.yaml
を使うことで、動的にコンテナ内ユーザIDを上書きしてローカルと同じIDでイメージを作成できるようにした。