VSCodeのRemote Development拡張を使ってWindows 11のWSL2上に構築したUbuntu(Systemd)環境でAWS lambda関数のローカルデバッグを行うと、Dockerがインストールされていても
Error: Running AWS SAM projects locally requires Docker. Have you got it installed and running?
のようなエラーが発生したため、その解決策についての備忘録。
原因
WSL2のログインユーザーにDockerデーモンへのアクセス権限(root権限)がない。
※ログインユーザーのアクセス権限が問題かどうかは、WSL2起動後に以下のコマンドを実行して強制的に非rootユーザーがDockerへアクセスできるように権限の変更を行うことで確認可(WSL2を再起動すると設定した権限がリセットされます)
sudo chmod 666 /var/run/docker.sock
対応
WSL2上で以下のコマンドを実行して現在のログインユーザーをdockerグループに追加する。
sudo usermod -aG docker $USER
※dockerグループがない場合は、以下のコマンドでグループを作成しておく必要があります。
sudo groupadd docker
上記コマンドで実行後にWSL2に再ログイン(再起動)すると、当該エラーが発生しなくなることが確認できると思います。
参考ウェブサイトなど
- docker docs
Linux post-installation steps for Docker Engine
以上です。