ubuntu(WSL2)でdockerコマンドを実行する際にsudo
を省略できるようにする方法をメモしておく。
問題
dockerコマンドを実行する際にsudo
を付けずに実行すると
$ docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied
dockerコマンドは、デフォルトではroot権限がないと実行できないようになっているらしい。
解決策
1つの解決策はsudo
をdockerコマンドの前につけて実行する方法。
sudo docker images
しかし、これだと毎回dockerコマンドを実行する度にsudo
を付けないといけない。
そこで、dockerグループにユーザを追加することで、sudo
なしでdockerコマンドを実行できるようにする。
まず、Dockerグループが存在するか確かめてみる。
$ getent group docker
docker:x:999:
このdockerグループにユーザを追加する。
sudo usermod -aG docker $USER
dockerグループにユーザが追加されているか確認する。
$ getent group docker
docker:x:999:<ユーザ名>
そして、最後に再起動してsudo
なしでコマンドが実行できるか確認したら実行することができた。【参考:docker docs】