← 전체 글로 돌아가기

Docker

서버 재부팅 후 Docker 서비스가 다시 뜨는지 확인하기

서버를 재부팅하면 Docker 서비스도 자동으로 다시 시작되어야 한다. 만약 안 된다면 restart policy를 확인해야 한다.

서버 재부팅 후 보통 한두 시간이 지나서 누군가 "서비스가 접속이 안 된다"는 연락을 받는 경우가 있다. 대부분 Docker 서비스가 자동으로 다시 뜨지 않았기 때문이다.

서비스가 떠있는지 확인하는 첫 번째 단계

docker ps
# RUNNING 상태의 컨테이너 목록

docker logs --tail=100 myservice
# 최근 로그 확인

Docker Compose라면 restart policy를 확인하자

services:
  myapp:
    image: myapp:latest
    restart: always  # 이 부분이 중요
    environment:
      - ENV=production

restart: always를 설정하면 서버가 재부팅되거나 프로세스가 죽어도 자동으로 컨테이너를 다시 시작한다.

재부팅 후 체크리스트

  1. 컨테이너가 RUNNING 상태인가
  2. 포트가 LISTEN 상태인가
  3. 로그에 에러가 없는가
  4. 환경변수가 제대로 로드되었는가

이 네 가지를 확인하면 대부분의 재부팅 후 문제를 해결할 수 있다. 그리고 next time을 대비해 확인 과정을 메모해 두면 다음엔 더 빠르게 대응할 수 있다.