본문 바로가기

⭐ AWS/AWS | Docker (도커)

Docker 프로세스 죽었을때 다시 실행 시키기

# 실습내용

- AWS EC2 및 RDS는 요금이 과금되므로 하루종일 켜놓을 수 없다. 그래서 인스턴스들을 중지 시켰다가 실행시키는 일을 하루에 최소한 1번은 반복한다. 문제는 EC2 인스턴스를 중지 후 실행시키면 docker 컨테이너의 프로세스들은 항상 죽어있다... ㅠㅠ 그래서 일일히 하나하나 한땀한땀 다시 실행시켜줘야 한다... 물론 systemctl 등에 등록해서 자동으로 ~ 실행되도록 할 수도 있겠지만 그건 나중에 알아보기로 하자.

- EC2 인스턴스를 중지 및 다시 시작하면 위의 그림과 같이 도커 컨테이너의 프로세스들은 Exited 되어 있다.

- 그래서 81번 포트를 쓰는 도커 컨테이너 및 프로세스를 살려보자.

- docker start 프로세스_ID 명령어로 손쉽게 서비스를 올릴수 있다.

- 상태를 봐도 Up 46 seconds 로 표기되는것을 볼 수 있다.

- 그러면 실제 아파치 상태는 어떤지 보자.

- EC2 퍼블릭 IP:81 을 URL에 입력하여 사이트가 살아 있는지 확인한다.

- 살았다... 이놈은 끝.

- 다음놈은 180번 포트로 서비스를 하는놈이다.

- EC2 퍼블릭IP:180 번포트로 접근을 하니 당연히 서비스가 죽어 있는것을 볼 수있다.

- 살려보자.

- 180번 포트가 서비스 하는 경로를 확인하고 컨테이너 ID도 확인하자.

- docker start 컨테이너_ID 를 입력하여 프로세스를 살려보자.

- 방금전까지 "페이지를 찾을수 없습니다" 라고 나온 페이지가 온전히 실행되는것을 볼 수 있다.

- 그렇다면 나머지 Exited 된 것들도 살려보깡?

- 살렸다... 1800, 8662, 9876... 그렇다면 웹페이지에서 상태를 보자.

- 차례대로 1800, 8662, 9876 전부 살아있는것을 볼 수 있다.

- docker 프로세스를 전부다? 한꺼번에 실행 시키는 명령어를 찾아봐야 겠다.