Trouble/Docker

docker 사용 시 /var/run/docker.sock permission denied 문제

침닦는수건 2024. 9. 4. 16:40
반응형

docker container 띄워서 작업을 하려고 하는데 다음과 같이 권한 문제가 나왔다. 

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:

 

접근 권한 문제인데 보통 local에서 아무 세팅하지 않으면 root만 docker에 접근 가능하다. 매번 sudo docker ~~~라고 쳐야되는 것 보면 알 수 있음.

 

위와 같은 경우는 십중팔구 docker container를 띄우는 shell script 같은 걸 실행했을 때 마주하는 문제일텐데, shell script 안에서 sudo를 남발할 수 없기 때문에 script를 수정하는 방법은 지양하는게 좋다. 

 

해결 방법은 도커 권한을 root 외에도 접근 가능하도록 변경하는 것.

 

sudo chmod 666 /var/run/docker.sock

 

 

근데 위와 같이 파일 권한 자체를 바꿔버리는 것은 위험하다고 볼 수도 있으니, 그룹을 따로 만들고 그룹에만 권한을 열어주는 방법도 있다. 

 

sudo /usr/sbin/groupadd -f docker
sudo /usr/sbin/usermod -aG docker `user`
sudo chown root:docker /var/run/docker.sock

 

이런 식이다.

반응형