Podman + devcontainer のパーミッションエラーに対処
経緯
Docker Desktop の業務利用が有料化してから、Lima で代替していたのですが、
devcontainer で npm install すると lchown が Permission Error で実行できないというエラーにハマった末に、
諦めて Podman を導入することにしました。
しかし、Podman で devcontainer を作成するとまた別の Permission Error が発生しました。
またかよ、とうんざりしながら悪戦苦闘したのですが、その長きにわたる戦いの記録は端折って結論だけ書きます。
環境
- Mac M1
- VSCode
devcontainer の作成
-
VSCode に Dev Containers 拡張機能を入れておく。
-
VSCode のショートカット Cmd + Shift + P でコマンドパレットを開き、
Open Workspace in Container
を実行する。 -
コンテナを作りたい Workspace を選択する。
-
Node 環境を選択。その後 Node のバージョンや、追加で入れたい機能も選択する。
-
コンテナが作られるが Permission Error が発生してしまう。
devcontainer.json の編集
-
ダイアログのボタン
Edit devcontainer.json Locally
を押下。 -
devcontainer.json を開き、
"remoteUser": "root"
という設定をコメントインする。// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. "remoteUser": "root"
-
"remoteUser"
の下に新しく設定を追加する。"containerUser": "root"
-
VSCode のショートカット Cmd + Shift + P でコマンドパレットを開き、
Open Workspace in Container
を実行する。 -
コンテナが無事起動する。