Open2

dockerコマンドでpermission deniedが発生する時の対処

botamotchbotamotch

dockerコマンド全般でpermission deniedが発生する。/var/run/docker.serviceへのアクセス権がない模様。

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

$ systemctl status docker.service
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: disabled)
     Active: active (running) since Wed 2023-08-16 09:40:18 JST; 7h ago

$ ls -l /var/run/docker.sock
Permissions Size User Group  Date Modified Name
srw-rw----     0 root docker 16  8月 09:40 /var/run/docker.sock
botamotchbotamotch

dockerグループにユーザーを追加すればOK。aオプションをつけないとセカンダリグループが置き換わってしまうので注意。再度ログインすれば権限が設定されてdockerコマンドが実行できるようになる

$ id username
uid=1000(username) gid=998(wheel) groups=998(wheel),984(users)

$ grep docker /etc/group
docker:x:963:

$ sudo usermod -aG docker username

$ id username
uid=1000(username) gid=998(wheel) groups=998(wheel),984(users),963(docker)

$ grep docker /etc/group
docker:x:963:username