반응형
Docker는 기본적으로 root
권한으로 실행되며, 이를 일반 사용자 계정에서도 실행할 수 있도록 설정하려면 사용자 계정을 Docker 그룹에 추가해야 합니다. 아래는 그 과정을 단계별로 설명합니다.
1. Docker 그룹 확인
Docker 설치 시 기본적으로 docker
라는 그룹이 생성됩니다. 이 그룹의 권한을 통해 Docker 명령을 실행할 수 있습니다.
Docker 그룹 확인
cat /etc/group | grep docker
출력 예시:
docker:x:999:
2. 사용자 계정을 Docker 그룹에 추가
- 사용자 추가 명령 실행
- 현재 로그인한 사용자를 Docker 그룹에 추가:
sudo usermod -aG docker $USER
- 특정 사용자를 Docker 그룹에 추가:
sudo usermod -aG docker username
- 변경 사항 적용
- 사용자를 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를 안전하고 편리하게 사용할 수 있습니다!
반응형
'가상 머신 > Docker' 카테고리의 다른 글
[ Docker ] Docker-Compose 설치하기 (0) | 2022.07.28 |
---|---|
[ Docker ] Dockerfile 작성하기 (0) | 2022.07.28 |
[ Docker ] copy - Host 컴퓨터의 파일을 docker 내부로 복사하기 (0) | 2021.05.23 |
[ Docker ] Docker 사용하기 (0) | 2018.06.16 |
[ Docker ] Docker 설치 하기 (windows, mac, ubuntu) (0) | 2018.06.03 |