はじめに
wsl上のUbuntu環境で作業をしています。
Dockerをインストールした際、実行するために毎回root権限が必要だったため、一般ユーザーでも実行できるように設定しました。ここではその手順を備忘録として残します。
問題
Dockerインストール後、一般ユーザーからdocker ps -aを実行すると、Docker deamonと接続できないというエラーが吐かれる。
$ docker ps -a
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.51/containers/json?all=1": dial unix /var/run/docker.sock: connect: permission denied
root権限で実行した場合は問題なし
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
解決方法
設定がされていないだけなので、ユーザーをDockerグループに追加する。
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
追加後、変更を反映させるために、wslを再起動する
$ wsl --shutdown
再起動後に確認すると、一般ユーザーでも問題なく実行できるようになりました。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
おわりに
docker公式ではsudoで実行するものとなっていますが、毎回入力することが面倒だったので、解決できてよかったです。