오늘의 인기 글
최근 글
최근 댓글
Today
Total
12-30 13:56
관리 메뉴

우노

[Docker] 컨테이너 실행 상태 유지 지시문(CMD, ENTRYPOINT) 본문

DevOps/Docker

[Docker] 컨테이너 실행 상태 유지 지시문(CMD, ENTRYPOINT)

운호(Noah) 2023. 9. 20. 13:45

들어가기 앞서,

  • 컨테이너 생성 시, Dockerfile 하단 지시문(CMD, ENTRYPOINT)을 통해 컨테이너 실행 상태를 유지해주지 않는다면,
  • 컨테이너는 생성된 뒤 실행 상태를 유지하지 않고 종료됩니다.
  • 따라서, 해당 포스팅에선 컨테이너 실행 상태를 유지할 수 있는 간단한 지시문을 다뤄보겠습니다.

지시문 예제

FROM ubuntu

CMD ["sh", "-c", "tail -f /dev/null"]
  • tail
    • 로그 파일 또는 텍스트 파일의 내용을 보여주는 명령어입니다.
  • f
    • tail 명령어의 옵션 중 하나로,
    • 파일의 내용을 실시간으로 모니터링하고 파일에 새로운 내용이 추가될 때마다 화면에 표시합니다.
  • /dev/null
    • 표준 출력(standard output)을 버릴 때 사용되는 특별한 파일입니다.
    • 이 파일로 출력을 리디렉션하면 출력 내용이 실제로 저장되지 않고 버려집니다.
  • 결론
    • 해당 CMD 명령어는 컨테이너가 실행될 때 셸을 실행하고, 그 셸 내에서 /dev/null 파일을 모니터링하도록 tail -f /dev/null 명령어를 실행합니다.
    • 따라서, 컨테이너가 다른 프로세스를 실행하지 않고 대기 상태로 유지됩니다.
    • 해당 방법은 컨테이너 실행 상태를 유지하는 일반적인 방법 중 하나입니다.
Comments