본문 바로가기

가상 머신/Docker

[ Docker ] usermod - 사용자에게 docker group 설정하기

반응형

Docker는 기본적으로 root 권한으로 실행되며, 이를 일반 사용자 계정에서도 실행할 수 있도록 설정하려면 사용자 계정을 Docker 그룹에 추가해야 합니다. 아래는 그 과정을 단계별로 설명합니다.


 

1. Docker 그룹 확인

Docker 설치 시 기본적으로 docker라는 그룹이 생성됩니다. 이 그룹의 권한을 통해 Docker 명령을 실행할 수 있습니다.

Docker 그룹 확인

cat /etc/group | grep docker

출력 예시:

docker:x:999:

 

2. 사용자 계정을 Docker 그룹에 추가

  1. 사용자 추가 명령 실행
    • 현재 로그인한 사용자를 Docker 그룹에 추가:
     sudo usermod -aG docker $USER
  • 특정 사용자를 Docker 그룹에 추가:
     sudo usermod -aG docker username
  1. 변경 사항 적용
    • 사용자를 Docker 그룹에 추가한 후, 새로 추가된 그룹 정보를 적용하려면 재로그인이 필요합니다.
   exit

그런 다음 다시 로그인하거나, 아래 명령으로 변경된 그룹을 즉시 반영할 수 있습니다:

   newgrp docker

 

3. 권한 테스트

사용자가 Docker 명령어를 실행할 수 있는지 확인합니다.

테스트 명령

docker ps
  • 정상 출력:
  CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS   NAMES
  • 권한 오류 발생 시:
  Got permission denied while trying to connect to the Docker daemon socket

 

4. 문제 해결

4.1 Docker 서비스 확인

Docker 서비스가 실행 중인지 확인:

sudo systemctl status docker
  • 실행 중이 아니면 시작:
  sudo systemctl start docker

4.2 그룹 추가 후에도 작동하지 않을 경우

  • 사용자가 Docker 소켓 파일에 접근 권한이 없을 수 있습니다. 소켓 파일 권한 확인:
  ls -l /var/run/docker.sock

출력 예:

  srw-rw---- 1 root docker 0 Nov 30 10:00 /var/run/docker.sock
  • docker 그룹에 rw 권한이 있어야 하며, 사용자가 해당 그룹에 속해야 합니다.

4.3 Docker를 재설치 또는 재구성

  • 필요 시 Docker를 재설치:
  sudo apt-get remove docker docker-engine docker.io containerd runc
  sudo apt-get install docker.io

 

5. 주의 사항

  • Docker를 일반 사용자로 실행하면, 사용자는 root 수준의 권한을 가지는 Docker 데몬에 접근할 수 있으므로 보안에 유의해야 합니다.
  • 민감한 환경에서는 Docker 그룹 대신 sudo 명령어를 사용하는 것이 더 안전할 수 있습니다.

이 과정을 완료하면 사용자 계정에서 Docker를 안전하고 편리하게 사용할 수 있습니다!

반응형