본문 바로가기
CS

docker sudo 없이 실행하기 (docker group 지정)

by judy@ 2023. 7. 13.

도커를 처음 시스템에 설치하고 사용하려고 보면 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/

    반응형