2016-08-02 1 views
3

내가 고정 표시기 내부 gunicorn 장고를 실행 해요, 고정 표시기 내 진입 점은 다음과 같습니다 [ "gunicorn", "myapp.wsgi"]docker + gunicorn + nginx에 supervisord가 필요합니까?

가 고정 표시기 때 실행 프로세스가 이미있는 가정

CMD 시스템이 멈 추면 도커 컨테이너를 시작하고 다시 시작합니다. supervisord를 사용해야합니까? gunicorn이 추락하면 docker가 추락하고 다시 시작하지 않습니까?

답변

7

Docker 컨테이너에서 supervisord (또는 다른 프로세스 감독자)와 같은 것이 필요한 것은 컨테이너가 시작될 때 컨테이너 내부에서 여러 독립 프로세스를 시작해야하는 경우입니다.

예를 들어 과 같은 컨테이너에 nginx와 gunicorn을 모두 시작해야한다면 일종의 프로세스 감독자를 조사해야합니다. 그러나 훨씬 더 일반적인 솔루션은이 두 서비스를 별도의 두 컨테이너에 배치하는 것입니다. docker-compose과 같은 도구는 다중 컨테이너 응용 프로그램을 관리하는 데 도움이됩니다.

메인 프로세스가 종료되어 컨테이너가 종료 된 경우 처음 시작할 때 다시 시작 정책을 구성한 경우 (예 : docker run --restart=always ...) Docker가 해당 컨테이너를 다시 시작합니다.