docker, failed to start daemon, ensure docker is not running or delete /var/run/docker.pid

2023. 6. 14. 18:04Infra/Docker

개요

docker 명령어를 실행 시켰는데 아래와 같이 Docker daemon에 접속 할 수 없다고 뜬다.

$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

이런 경우 대부분 docker 서비스가 실행 되지 않아 생긴 현상이므로 아래 명령으로 docker를 실행시키면 됩니다.

$ sudo systemctl start docker.service

하지만 전 재시작을 시켜도 아무런 로그도 없이 계속 에러가 뜹니다.

해결방법

먼저 왜 실행이 안되는 지 확인 해야합니다. docker에는 debug 모드가 있어 로그를 확인 할 수 있습니다.

$ sudo dockerd -D 
INFO[2023-06-12T16:50:05.935563107+09:00] Starting up
failed to start daemon, ensure docker is not running or delete /var/run/docker.pid: process with PID 20269 is still running

에러 로그를 보니 PID 20269라는 프로세스가 이미 실행되어 있기 때문에 서비스를 실행 시킬 수 없다고 나옵니다.

해당 PID를 가지고 프로세스를 제거합니다.

$ sudo kill -9 20269
$ sudo systemctl restart docker.service
$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

추가 해결책

만약 위 처럼 했지만 정상적으로 동작하지 않는다면, 서버를 재부팅 해보시기 바랍니다.

'Infra > Docker' 카테고리의 다른 글

iptables failed 에러  (0) 2023.06.12
docker push : authorization failed  (0) 2023.06.08
Docker Container Exit Code  (0) 2023.04.24
RHEL8.5 Docker 및 docker-compose v2 설치  (0) 2023.04.19
docker-compose 작성 시 환경 변수 지정  (0) 2023.04.19