본문 바로가기
카테고리 없음

라즈베리파이에서 sudo 없이 Docker 사용하기: Docker 그룹 추가 방법

by BillyCho 2025. 2. 23.

 

라즈베리파이에서 Docker를 사용할 때 매번 sudo를 붙이는 게 귀찮았던 적 있나요? 저도 docker ps나 docker-compose up 같은 명령어를 실행할 때마다 sudo를 입력하는 게 점점 짜증 나더라고요. 다행히 간단한 설정으로 이 번거로움을 없앨 수 있습니다. 바로 현재 사용자를 Docker 그룹에 추가하는 방법인데요, 단계별로 따라 하면 금방 해결됩니다. 함께 해볼까요?

왜 sudo가 필요한 걸까?

Docker는 기본적으로 루트 권한으로 실행되기 때문에, 일반 사용자는 명령어를 실행하려면 sudo를 붙여야 해요. 하지만 사용자를 docker 그룹에 추가하면 루트 권한을 직접 쓰지 않아도 Docker를 자유롭게 사용할 수 있습니다. 보안상 주의는 필요하지만, 개인 프로젝트나 로컬 환경에서는 충분히 편리한 방법이에요.

1. Docker 그룹이 있는지 확인하기

먼저 시스템에 docker 그룹이 있는지 확인해야 합니다. 터미널을 열고 다음 명령어를 입력해보세요:

getent group docker

출력이 docker:x:124:처럼 나온다면 이미 그룹이 존재하는 거예요. 숫자(예: 124)는 그룹 ID이고, 뒤에 사용자 이름이 없으면 아직 아무도 이 그룹에 속해 있지 않다는 뜻입니다. 만약 아무 출력도 안 나온다면 그룹을 만들어야 하지만, 보통 Docker 설치 시 자동으로 생성되니 이 단계는 넘어갈 가능성이 높아요.

2. 현재 사용자를 Docker 그룹에 추가하기

이제 로그인한 사용자를 docker 그룹에 추가할 차례예요. 라즈베리파이 기본 사용자는 pi니까, 먼저 현재 사용자를 확인해봅시다:

whoami

출력이 pi라면 다음 명령어를 실행하세요:

sudo usermod -aG docker pi

만약 pi가 아니라 다른 이름(예: myuser)이 나왔다면 그 이름을 대신 넣어주세요:

sudo usermod -aG docker myuser

여기서 -aG는 "기존 그룹을 유지하면서 새 그룹에 추가한다"는 뜻이에요. 실수로 -G만 쓰면 기존 그룹이 지워질 수 있으니 주의하세요!

3. 변경 사항 적용하기

그룹 추가는 바로 적용되지 않으니, 로그아웃 후 다시 로그인하거나 새 터미널을 여세요. 더 빠르게 적용하려면 이 명령어도 괜찮아요:

newgrp docker

이제 설정이 끝났습니다!

4. 잘 됐는지 테스트해보기

이제 sudo 없이 Docker 명령어가 되는지 확인해볼까요? 간단히 이렇게 입력해보세요:

docker ps

컨테이너 목록이 에러 없이 나오면 성공이에요! 추가로 사용자가 docker 그룹에 잘 들어갔는지 확인하고 싶다면:

groups

출력에 docker가 포함되어 있으면(예: pi adm dialout ... docker) 완벽하게 설정된 겁니다.

만약 안 된다면?

  • permission denied 에러: 재부팅해보세요(sudo reboot). 가끔 시스템이 변경을 반영하려면 이게 필요할 때가 있어요.
  • Docker 데몬 문제: Docker 서비스가 실행 중인지 확인하려면 sudo systemctl status docker를 써보세요. 꺼져 있다면 sudo systemctl start docker로 켜주세요.

주의할 점

sudo 없이 Docker를 쓰면 편리하지만, Docker는 루트 권한과 비슷한 수준으로 동작해요. 그러니 신뢰할 수 없는 이미지나 스크립트를 함부로 실행하지 않도록 주의하세요. 개인 프로젝트나 테스트 환경에서는 큰 문제가 없지만요.

마무리

이 간단한 설정으로 sudo docker-compose up 같은 긴 명령어를 docker-compose up으로 줄일 수 있게 됐어요. 매번 sudo 입력하던 손가락도 좀 쉴 수 있고, 작업 속도도 빨라질 거예요. 라즈베리파이에서 Docker를 더 편하게 쓰고 싶었다면 지금 바로 해보세요. 질문 있으면 언제든 댓글 남겨주세요!