administrator@lsh:~$ docker ps
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/containers/json": dial unix /var/run/docker.sock: connect: permission denied
docker.sock 파일 권한 확인
문제 해결을 위해선 /var/run/docker.sock 파일의 소유자, 소유자 그룹을 확인해야합니다.
administrator@lsh:~$ ls -al /var/run/docker.sock
srw-rw---- 1 root docker 0 Nov 7 13:29 /var/run/docker.sock
docker.sock 파일의 소유자 : root , 그룹 : docker 로 설정되어 있는걸 확인할 수 있습니다.
sudo 명령어를 사용하여 docker 명령어를 사용할 수 있지만, 매번 sudo를 붙여야하는 것도 귀찮고, 또한 권장하지 않는 방법입니다.
현재 administrator유저의 그룹을 docker 그룹으로 포함시켜주면 문제는 간단히 해결됩니다.
administrator@lsh:~$ sudo usermod -a -G docker $USER
[sudo] password for administrator:
$USER는 현재 사용중인 유저 administrator를 가르킵니다.
시스템을 재부팅 후 docker 명령어 사용시 권한 오류는 더 이상 발생하지 않습니다.
현재 사용중인 administrator 계정의 docker 그룹 권한 확인은 id 명령어로 확인합니다.
administrator@lsh:~$ id
uid=1000(administrator) gid=1000(administrator) groups=1000(administrator),0(root),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev),119(docker)