인프라/Docker

[트러블 슈팅] Docker 가 의문사 했다?

Hun's blog 2026. 6. 20. 16:43

사내 서비스를 운영 중인데 Docker 컨테이너가 죽어버렸다. 원인을 파악 해보자.

 

docker cli는 정상으로 보이나 docker.sock에 연결이 안 되는 걸로 봐서 docker daemon에 문제가 생긴것으로 보인다.

 

 

확실히 이상하다 Docker CLI는 있고 버전 확인도 되는데 서비스 인식이 불가능한 상황이다.

dpkg 로 확실히 docker 와 관련된 패키지들을 확인해 봐야겠다.

 

 

눈에 띄는 건 containerd.iodocker-cerc 상태라는 점이다. rc는 패키지는 제거됐지만 설정 파일은 남아있다는 뜻으로, 어떤 이유에서인지 이 두 패키지가 삭제된 것으로 확인된다.

 

참고로 containerd는 컨테이너 런타임인데, Docker는 이를 직접 패키징해서 containerd.io라는 이름으로 따로 배포하고 있다. Ubuntu 공식 저장소의 containerd와 소프트웨어 자체는 동일하지만 패키징 주체가 다르다.

 

 

해결 방법은 너무 간단하다 docker-ce 를 다시 설치해주면 되고 정상 동작한다.

 

 


하지만 containerd.iodocker-ce 가 삭제된 이유를 알지못하면 반복될 수 있으니 원인을 제대로 파악해보자.

일단 apt 패키지 매니저의 히스토리 로그를 열어서 docker-ce와 관련된 변경이 있는지 확인하자.

 

 

로그를 보면 containerd 가 설치되면서 containerd.iodocker-ce 가 함께 제거됐다. 최근 해당 서버를 K8s에 편입하는 작업을 준비하면서 컨테이너 런타임으로 containerd 를 설치했고, 이 과정에서 apt가 충돌 패키지인 containerd.io 를 자동으로 제거했으며 이제 의존하던 docker-ce 까지 연쇄적으로 삭제된 것으로 추측된다.

 

 

3줄 요약

  1. docker ps 실패 원인을 추적한 결과, docker-cecontainerd.io 패키지가 제거된 상태(rc)였다.
  2. apt history 로그에서 containerd 설치 시 충돌로 인해 apt가 containerd.iodocker-ce를 자동 제거한 것이 확인됐다.
  3. 해당 서버의 Kubernetes 편입 작업 중 컨테이너 런타임 교체가 원인으로 추측된다.