도커를 처음 시스템에 설치하고 사용하려고 보면 permission error가 떠서 sudo 권한으로 실행해야 하는 경우가 많다. 번거롭고 위험하므로, sudo 없이 실행하기 위해 docker 사용자 그룹에 계정을 추가하자.
오류 예시 (permission 오류 예시)
$ docker ps -a
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?all=1": dial unix /var/run/docker.sock: connect: permission denied
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
목차
1. 도커 그룹 생성 (있으면 패스)
먼저 도커 그룹이 있는지 확인하자. 아래와 같이 나오면 있는 것이고 없으면 아무것도 안뜰 것
$ cat /etc/group | grep docker
docker:x:999:
도커 그룹 생성 명령어 (sudo 권한 필요) - 실행하고 나면 위처럼 도커 그룹이 있음이 확인될 것.
$ sudo groupadd docker
2. 현재 계정이 도커 그룹에 포함되어 있는지 확인 (계정명이 ubuntu)
... 안에 여러 그룹이 나열되어있지만 docker는 명시되지 않음
# 명령어
$ groups [USER]
# 예시
$ groups ubuntu
ubuntu : ubuntu ...
3. 현재 계정에 그룹 등록하기
# 명령어
$ sudo usermod -aG docker [USER]
# 예시
$ sudo usermod -aG docker ubuntu
추가되었는지 확인
$ groups ubuntu
ubuntu : ubuntu ... docker
4. 변경 반영
!!!!!!!!!중요!!!!!!!!
변경을 반영하기 위하여 현재 셀 종료 (exit) -> 새로운 셀로 재접속해야 함
5. sudo 안붙여도 잘 되는 것 확인
이제는 sudo를 안붙여도 명령어가 잘 실행됨
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
참고 자료
- 공식 도큐먼트: https://docs.docker.com/engine/install/linux-postinstall/
반응형
'CS' 카테고리의 다른 글
fish shell을 기본 셸로 설정하기 (OSX, Linux) (0) | 2023.07.20 |
---|---|
fish shell 터미널 디렉토리 출력 색 변경 (0) | 2023.07.14 |
파이썬 bson 파일 열기 (0) | 2023.07.11 |
파이썬에서 SSH 터널링과 mysql 커넥션 풀을 통해 DB 접속하기 (0) | 2023.07.10 |
vimrc 설정하기 (0) | 2023.07.05 |