entrypoint
또는 cmd
가 설정되어 있지 않은 이미지로 컨테이너 실행 시 컨테이너가 지속적으로 실행시킬 프로그램을 찾지 못하고 자동으로 종료된다.
이를 방지하기 위한 방법이 몇가지 있는데, 오늘은 이에 대해서 적어보려한다
docker run
명령어 마지막에 sleep infinity
명령어를 추가하는 것이다
docker run -d ubuntu sleep infinity
또는, docker-compose
에서도 동일하게 적용 할 수 있다.
version: '1.0
services:
ubuntu:
image: ubuntu
command: sleep infinity
null device(/dev/null)
을 계속 읽음으로써 컨테이너 작업을 유지시키는 방법이다.
docker run -d --entrypoint "tail -f /dev/null' ubuntu
version: '1.0
services:
ubuntu:
image: ubuntu
command: tail -f /dev/null
[docker infinity loop] https://nasn.tistory.com/151