logo

wslにインストールしたdockerの権限エラーの解決方法

投稿日:2025.10.21

はじめに

もともと使用していたDocker Desktopの利用をやめて、直接WSL2にインストールしたDockerをインストールをしました。
実行すると権限エラーが発生したので、解決方法と原因について調べました。

エラーメッセージ

docker: Dockerデーモンソケットunix:///var/run/docker.sockへの接続中に権限が拒否されました。

$ docker run hello-world
docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

解決方法

1. ユーザーをdockerグループに追加

/var/run/docker.sockdockerグループに所属しているので、ユーザーを追加します。

$ sudo usermod -aG docker $USER

2. docker.sockの権限を変更

ユーザーも実行できるように、ファイルに読み書きの権限を追加します。

$ sudo chmod o+rw /var/run/docker.sock
# もしくは
$ sudo chmod 666 /var/run/docker.sock

3. 管理者権限でコマンドを実行

権限の設定を変更せず、毎度管理者権限でコマンドを実行します。

$ sudo docker run hello-world

原因

ログイン中のユーザーにDockerのソケットへのアクセス権限がないためエラーが発生しています。

公式ドキュメントにも以下のように説明されています。

デフォルトではrootユーザーがUnixソケットを所有しており、ほかのユーザーはsudoを使用してのみアクセスできます。
sudoをつけずに使用したい場合は、dockerグループにユーザーを追加してください。

Post-installation steps | Docker Docs

docs.docker.com
$ ls -la /var/run/docker.sock
srw-rw---- 1 root docker 0 Oct 19 20:05 /var/run/docker.sock