WSL2でAWS SAM Localのデバッグ時にDockerエラーが発生する問題の解決策

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

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする