✔ Python/0. Setting

[Docker] docker ps - permission denied 오류해결 방법

  • -
제목: docker ps - permission denied 오류해결 방법
수정
: 2024-02-29

오류발생

docker 설치가 끝난 뒤 docker ps 를 확인했을때 대부분 permission denied error 발생하곤합니다.
해당 오류 해결방안은 다음과 같습니다.

docker -v      # 설치된 도커버전 확인
docker ps      # permission denied 오류 발생

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

 

해결방법 1. dock 그룹에 user 추가하기

sudo usermod -aG docker [계정명을 기입하시오]
sudo usermod -aG docker withus
cat /etc/group | grep docker

재접속한 후 docker ps 확인

 

해결방법 2. 직접 권한부여하기

위 명령어로 문제 해결이 안되면 /var/run/docker.sock에 권한 부여한다.

sudo chmod 666 /var/run/docker.sock
docker ps

(base) withus@withus-Z790-GAMING-X:~$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

 

chmod는 UNIX 및 UNIX 유사 시스템에서 파일 또는 디렉토리의 권한을 변경하는 명령어입니다. 여기서 666는 권한 코드를 나타냅니다. 666의 각 숫자는 각각 다음을 나타냅니다:

  • 첫 번째 6은 소유자의 권한을 나타냅니다.
  • 두 번째 6은 그룹의 권한을 나타냅니다.
  • 세 번째 6은 다른 사용자들의 권한을 나타냅니다.

이 권한들은 다음의 세 가지 권한에 대한 비트맵으로 나타납니다:

  • 읽기 (Read) 권한은 4입니다.
  • 쓰기 (Write) 권한은 2입니다.
  • 실행 (Execute) 권한은 1입니다.

따라서 6은 읽기(4)와 쓰기(2) 권한을 모두 가지는 것을 나타냅니다. 즉, 666은 소유자, 그룹, 그리고 다른 모든 사용자들이 해당 파일을 읽고 쓸 수 있지만 실행할 수는 없다는 것을 의미합니다.

즉, sudo chmod 666 /var/run/docker.sock 명령어는 /var/run/docker.sock 파일에 대한 소유자, 그룹, 그리고 다른 모든 사용자들의 권한을 읽기와 쓰기로 설정합니다.

 

Done is better than perfect

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.