반응형

Docker를 사용하다 보면, 데몬 소켓에 연결하는 동안 권한 거부 문제가 발생할 수 있다. 이 문제를 해결하는 방법을 다음과 같이 설명한다.

문제 상황

Docker 데몬 소켓에 연결하는 동안 다음과 같은 오류가 발생할 수 있다.

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/auth": dial unix /var/run/docker.sock: connect: permission denied

 

해결 방법

1. 사용자를 docker 그룹에 추가한다.

sudo usermod -aG docker $USER

 

2. 변경 사항을 적용하기 위해 로그아웃하고 다시 로그인한다.

 

3. Docker 데몬을 재시작한다.

sudo systemctl restart docker


4. 이제 Docker 명령을 실행할 때 sudo를 사용하지 않아도 된다. 예를 들어, 다음과 같이 실행할 수 있다.

docker ps

 

 

또 다른 해결법

위의 단계를 완료한 후에도 여전히 문제가 발생한다면, docker.sock 파일의 권한을 확인하고 필요한 경우 수정한다.

 

1. docker.sock 파일의 권한을 확인한다.

ls -l /var/run/docker.sock

 

2. 출력 결과에서 소유자와 그룹이 root:docker 인지 확인하고, 다른 경우 아래 명령을 실행하여 권한을 수정한다.

sudo chown root:docker /var/run/docker.sock

 

3. 파일 권한이 srw-rw---- 인지 확인하고, 다른 경우 아래 명령을 실행하여 권한을 수정한다.

sudo chmod 660 /var/run/docker.sock


이렇게 하면 권한 거부 문제가 해결되어야 한다.

만약 문제가 계속된다면, 재부팅 후 다시 시도해 본다. 이렇게 하면 대부분의 경우 문제가 해결된다.

반응형
얼은펭귄