root 계정이 아닌 일반 계정으로 docker 실행하는 방법
Document Information
- docNo: 20230118-1431
- tag: #docker #root #권한 #일반계정 #일반 #계정 #실행
Contents
root 계정이 아닌 일반 계정으로 실행하면 아래와 같은 에러가 발생함
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
이를 해결하기 위한 방법중 하나로
- docker 그룹 생성
- 일반 사용자를 docker 그룹에 추가
cskim 계정의 그룹 확인 및 추가
여기서는 일반계정을 cskim 으로 가정하고 진행합니다.
만일 본인이 사용하는 계정이 chris 라고 한다면 cskim 대신 chris 를 사용하시면 됩니다.
groups cskim
docker 그룹 생성
sudo groupadd docker
cskim 사용자를 docker 그룹에 추가한다.
sudo usermod -aG docker cskim
docker 소켓 파일 그룹과 권한 설정
만일 위의 작업들을 수행해도 오류가 발생한다면 아래의 방법을 진행합니다.
소켓 파일 그룹 지정
sudo chown root:docker /var/run/docker.sock
소켓 파일 실행 권한 변경
sudo chmod 666 /var/run/docker.sock
유효성 검사
sudo
권한 없이 docker
명령어를 사용할 수 있는지 테스트
docker run --rm hello-world
비슷하지만 다른 에러
디렉터리 권한 문제일 수도 있다.
WARNING: Error loading config file: /home/user/.docker/config.json -stat /home/user/.docker/config.json: permission denied
모든 docker 프로세스 죽이기
tag: #docker #ps #kill
docker kill -f $(docker ps -a -q)