개인 계정에서 도커를 실행하면
권한 때문에 자꾸 아래와 같이 오류 발생해서 계속 sudo docker ps 이런식으로 sudo 쓰는게 번거로워서
어떻게 하나 보던 중 방법을 발견해 공유합니다.
오류 내용
$ docker ps
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 CLI(docker ps)는 Unix 소켓 파일(/var/run/docker.sock)을 통해 Docker Daemon과 통신함
- 이 소켓 파일에 대한 읽기/쓰기 권한이 없는 사용자가 접근하면 바로 permission denied 발생
해결 방법
1. docker 그룹을 만들고, 그룹에 인원 매핑
그룹생성 : sudo groupadd docker
그룹인원매핑
방법 1 : sudo usermod -aG docker (이름)
방법 2 /etc/group에 직접 매핑 (생성과 인원매핑 같이 됨)
docker:x:300000:이름

2. Unix 소켓 파일(/var/run/docker.sock) 권한을 root:root 에서 root:docker 로 변경
소유자를 root 로 하고 그룹을 docker 로 매핑해준다
그래야 docker 그룹인 사람들이 docker 권한을 사용 가능함.

3. 쉘 로그아웃 후 재로그인

이렇게 작업하면 이제 sudo 없이도 사용 가능합니다.
감사합니다
'인프라 & 클라우드 > Kubernetes, Docker' 카테고리의 다른 글
| Docker 이용하여 git 서버 구축 (2) | 2024.02.26 |
|---|---|
| 도커(Docker) 이미지 설치 및 컨테이너 실행 (0) | 2022.05.30 |