Docker permission denied error 해결

chanbro·2023년 9월 20일

infra

목록 보기
1/2
post-thumbnail

문제 발생


aws ec2(ubuntu)에서 Dockerfile을 실행하는데, 다음과 같은 에러와 함께 실행되지 않아서 sudo를 앞에 붙혀야만 Dockerfile이 실행되었다.
docker: Got permission denied while trying to connect to the Docker daemon socket...

문제 이해


docker 관련 명령어를 사용하는 docker demon 은 kernel socket 을 통해 실행된다.
해당 socket 파일을 root 사용자의 소유권한으로 기본 설정되어 있다. (그래서 sudo 로 가능했던 것)
이를 root 가 아닌 사용자가 접근하도록 해야한다.
1. 새로운 유저 그룹 생성 docker 및 유저 추가
2. 위에서 생성한 유저 그룹에게 docker 실행 관련 파일들 권한 부여

1. 새로운 유저 그룹 생성 docker

  1. 현재 사용자 그룹 확인
groups $USER
  1. 그룹 생성
sudo groupadd docker
  1. 유저 추가
sudo usermod -aG docker $USER
  1. 재접속
    위의 명령어를 진행했던 터미널에 대해 재접속한다.

2. 위에서 생성한 유저 그룹에게 docker 실행 관련 파일들 권한 부여

sudo chown docker /var/run/docker.sock
sudo chown docker /home/$USER/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
profile
이유있는 코드를 작성하는 서버 개발자

0개의 댓글