반응형
도커 실행 권한문제 - dial unix /var/run/docker.sock: connect: permission denied
docker pull harbor.mezzomedia.co.kr/media-report/msa/crawler-server@sha256:6d05174d3ca540258f08a3f2cc84823f8baabe8b0b0b2affebe3d546f701b0c9
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/images/create?fromImage=harbor.mezzomedia.co.kr%2Fmedia-report%2Fmsa%2Fcrawler-server&tag=sha256%3A6d05174d3ca540258f08a3f2cc84823f8baabe8b0b0b2affebe3d546f701b0c9: dial unix /var/run/docker.sock: connect: permission denied
docker 를 설치하고 난뒤 권한이 없어서 명령어를 실행하지 못하는 오류이다.
- var/run.docker.sock 에 권한이 없어서 나타나는 증상
docker 그룹을 만들어 추가하고 id 명령어를 사용하여 그룹에 잘 추가되었는지 확인한뒤에 sudo 를 넣지 않고도 동작되는지 확인해보자
docker group 에 ${USER}추가
sudo groupadd docker
[sudo] mezzo의 암호:
groupadd: 'docker' 그룹이 이미 있습니다
// 이미 등록된 경우엔 그룹이 있다고 나온다.
// 다음단계로 docker 그룹에 ${USER} 를등록한다.
sudo usermod -aG docker ${USER}
// 로그아웃후 재로그인 혹은 다음명령어 실행
newgrp docker
docker 그룹에 추가전
[mezzo@AErepoAnalysis-12-92 ~]$ id
uid=1000(mezzo) gid=1000(mezzo) groups=1000(mezzo),10(wheel)
docker 그룹에 추가후
시스템 재기동후 ‘id’ 명령어로 그룹에 추가된걸 확인 할 수있다.
[mezzo@AErepoAnalysis-12-92 ~]$ id
uid=1000(mezzo) gid=1000(mezzo) groups=1000(mezzo),10(wheel),**994(docker)**
docker 명령어 사용하여 정상적으로 작동되는 것을 확인 할 수있다.
mezzo-skan@mezzoui-MacBookPro ~ % docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
22cbea3f9b43 confluentinc/cp-kafka:5.5.1 "/etc/confluent/dock…" 2 weeks ago Exited (1) 2 weeks ago kafka-docker_kafka-1_1
703cb2bfcd99 confluentinc/cp-kafka:5.5.1 "/etc/confluent/dock…" 2 weeks ago Exited (255) 6 days ago 9092/tcp, 0.0.0.0:9094->9094/tcp, :::9094->9094/tcp kafka-docker_kafka-3_1
22694861a7a8 confluentinc/cp-kafka:5.5.1 "/etc/confluent/dock…" 2 weeks ago Exited (255) 6 days ago 9092/tcp, 0.0.0.0:9093->9093/tcp, :::9093->9093/tcp kafka-docker_kafka-2_1
c0d507c3a2f4 provectuslabs/kafka-ui "/bin/sh -c 'java $J…" 2 weeks ago Exited (143) 6 days ago kafka-ui
ec24975ea85c confluentinc/cp-zookeeper:5.5.1 "/etc/confluent/dock…" 2 weeks ago Exited (255) 6 days ago 2888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 3888/tcp kafka-docker_zookeeper-1_1
77eaf95fb82e gcr.io/k8s-minikube/kicbase:v0.0.37 "/usr/local/bin/entr…" 7 weeks ago Exited (130) 5 weeks ago minikube
7b439feeec54 mysql:5.7.21 "docker-entrypoint.s…" 11 months ago Exited (128) 8 months ago 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp mysql
41a7484b9a64 mysql:5.7.21 "docker-entrypoint.s…" 11 months ago Exited (255) 6 months ago 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp aereport-mysql
bdd2033dd2c8 redis:alpine "docker-entrypoint.s…" 11 months ago Exited (255) 7 weeks ago 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis_boot
cf3ef5c3d786 aereport-docker_jenkins "/sbin/tini -- /usr/…" 14 months ago Exited (143) 11 seconds ago ae_report_jenkins
e907cd257e9d adminer "entrypoint.sh docke…" 14 months ago Exited (0) 11 months ago mysql-adminer
02c02bab0af3 alpine/git "git clone https://g…" 19 months ago Exited (0) 19 months ago repo
mezzo-skan@mezzoui-MacBookPro ~ % docker start e907cd257e9d
e907cd257e9d
# 프로세스 확인
mezzo-skan@mezzoui-MacBookPro ~ % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e907cd257e9d adminer "entrypoint.sh docke…" 14 months ago Up 2 seconds 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp mysql-adminer
mezzo-skan@mezzoui-MacBookPro ~ %
위방법외에 또다른 방법으로는, 권한이 거부되면 간단하게 파일의 권한을 모든 사용자가 사용할수있게 chmod로 변경해 주고 사용해도된다. 모두 사용할수있게 하는건 보안에 취약할테니 특정 계정을 그룹에 포함시켜주는게 좋다.
sudo chmod 666 /var/run/docker.sock
편의를 위해 특정 계정에 docker 권한을주입하긴 하지만, 보안상 하지 않는게 좋다고는한다. 그러기에 특정계정에만 사용할수있도록 해주고, 모든 계정에서 사용도지 않도록 주의한다.
반응형
'devops > docker' 카테고리의 다른 글
docker env, arg 차이점 (1) | 2024.04.07 |
---|---|
dockerfile에 springboot profile 적용하기 (1) | 2024.04.07 |
docker-compose mysql 설정 및 sql init (0) | 2022.01.14 |
docker-compose jenkins (0) | 2022.01.14 |
docker-compose 옵션 기본 명령어 (0) | 2021.04.29 |