본문 바로가기
개발/Docker&kubernetes

Docker Keep Running(실행 유지) 방법

by 궁즉변 변즉통 통즉구 2022. 8. 26.
반응형

Docker로 작업을 할 때 테스트, 디버깅 등의 목적으로 컨테이너 실행 상태를 유지하고 싶을 때가 있는데 어떻게 하는지 알아본다.

기본적으로 컨테이너는 내부 프로세스가 종료가 되면 컨테이너도 종료가 된다. 이는 컨테이너 프로세스를 백그라운드가 아닌 포그라운드로 실행을 하는 이유이기도 하다.

 

아래를 보면 기본 ubuntu이미지를 실행하고 docker 프로세스를 조회해보면 STATUS는 종료됐다고 나온다

docker run -d ubuntu

테스트나 디버깅을 목적으로 컨테이너에 접속해서 뭔가를 하고 싶은데 컨테이너는 종료가 된 상태이다.

 

다음과 같이 "-t" 옵션과 함께 실행을 하면 컨테이너를 실행상태로 유지를 할 수 있다.

docker run -d -t ubuntu

컨테이너가 실행상태를 유지하고 컨테이너로 접속 할 수 있다.

 

위의 방법 외에 다른 방법들도 있는데 아래와 같다.

docker run -d ubuntu tail -f /dev/null

docker run -d ubuntu sleep infinity

 

Dockerfile 작성 중에 실행 상태를 유지하고 싶다면 ENTRYPOINT에 "tail -f /dev/null" 명령을 주고 실행하면 된다

FROM ubuntu:latest
...
ENTRYPOINT ["tail", "-f", "/dev/null"]

 

반응형

댓글