2016-07-19 2 views
-1

다음 도커 파일이 있습니다.셸 스크립트가 종료 될 때 Docker가 계속 실행됩니다.

FROM ubuntu 
RUN apt-get update 
EXPOSE 9000:80 

# Install nginx 
RUN apt-get install -y nginx 

# Install Curl 
RUN apt-get -qq update 
RUN apt-get -qq -y install curl 
ENTRYPOINT service nginx start 

내가 쉘 스크립트에서 다음 명령을 실행하려고하면 고정 표시기 이미지 를 생성하고 컨테이너가 쉘 스크립트가 종료되면, 고정 표시기 컨테이너가 중지 그러나 시작됩니다.

쉘 스크립트가 종료 된 후에 도커 컨테이너를 계속 실행하려면 어떻게해야합니까? 포트 9000을 사용하여 호스트에서 액세스 할 수있는 nginx가 포트 80에서 실행중인 컨테이너를 실행하는 것이 좋습니다.

답변

2

nginx를 백그라운드 서비스로 실행하지 마십시오. hub.docker.com에서의 nginx 컨테이너처럼 전경을 실행 : PID 1 다이는, 컨테이너가 사망 용기와

CMD ["nginx", "-g", "daemon off;"] 

. 모든 Linux 시스템에서 pid 1 (init)을 죽이는 것과 동일합니다.

+0

제 의견을 무시하십시오. – user451445

+0

실행 후 이미지 이름 앞에'-d'를 사용하여 호출하십시오. – BMitch

관련 문제