Docker

権限に悩まされない自作Dev Container

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