부두 노동자의 종료 코드를 이해

고정 표시기 컨테이너 정지를 참조하십시오

#docker PS --filter " 상태 = 종료 " 
CONTAINER의 ID image 명령 CREATED 상태 PORTS 명칭 
8b9ec01d8b40 docker.elastic.co / 비트 / auditbeat : 7.5 . 0    " / usr / 지방 / 빈은 / docke "    3 주에 Exited 전 ( 1 ) 3 주 infallible_kirch 일 전 
#docker PS -a | 그렙 종료 
8b9ec01d8b40 docker.elastic.co / 비트 / auditbeat : 7.5 . 0                             "는 / usr / local / bin / docke "    3 주에 Exited 일 전 ( 1 ) 3 infallible_kirch 주 전에 
#docker이 검사 --format =을 " {{.State.ExitCode}} " 8b9ec01d8b40
 1

종료 코드

종료 코드 0 : 첨부 된 전경 프로세스의 부재

  • 종료 코드 0은 특정 컨테이너는 포 그라운드 프로세스가 연결이 없음을 나타냅니다.
  • 이 종료 코드는 따르는 다른 모든 종료 코드에 대한 예외입니다. 그것은 반드시 뭔가 나쁜 일이 의미하는 것은 아니다.
  • 그들은 그것의 작업을 완료하면 자동으로 컨테이너를 중지하려면 개발자는이 종료 코드를 사용합니다.

 

종료 코드 1 : 인해 응용 프로그램 오류로 실패를 나타냅니다

  • 컨테이너가 프로그램 오류 또는 용기에 존재하지 않는 파일에 Dockerfile의 잘못된 기준 중 끊기는 것을 나타낸다.
  • 응용 프로그램 오류가 "0으로 나누기"단순하게 또는 복잡 할 수있다 "빈 이름을 참조 동일한 이름과 클래스의 기존 호환되지 않는 빈 정의와 충돌합니다."
  • 용기에 존재하지 파일에 Dockerfile에서 잘못된 참조 오타 단순하게 할 수있다 (아래 예 갖는 sample.ja대신에 sample.jar)

종료 코드 (137) : 컨테이너 SIGKILL로 수신 실패를 나타내는 (또는 수동 개입 'OOM 킬러를'[OUT-OF-MEMORY])

  • 이는 해당 컨테이너받은 SIGKILL을 나타냅니다
  • SIGKILL 명령이 고정 표시기 연속이다 개시하는 일반적인 이벤트입니다. 이 수동으로 사용자 또는 고정 표시기 데몬 중 하나를 시작할 수 있습니다 : 
    고정 표시기 죽일 <컨테이너 ID>
docker kill사용자 또는 호스트 시스템에 의해 수동으로 시작할 수 있습니다. 
호스트 시스템에 의해 시작되면, 그것은 메모리가 존재 때문에 발생한다.
컨테이너의 메모리가 부족 인으로 인해 종료 된 경우 확인하려면 확인할 docker inspect경우 다음 섹션의 컨테이너 ID에 대해 체크 OOMKilled사실이다 (나타내는 것이다 그것은 메모리가 부족합니다) :
" " : {
  " 상태 " : " 종료 " ,
  " 실행 " : 거짓 ,
  " 일시 중지 " : 거짓은 ,
  " 다시 시작 " : 거짓은 ,
  " OOMKilled " : 사실 ,
  " 죽은 " : 거짓 ,
  " 도 (Pid) " : 0 ,
  " ExitCode를 " :137 ,
 " 오류 " : "" ,
  " StartedAt " : " 2019-10-21T01 : 13 : 51.7340288Z " ,
  " FinishedAt " : " 2019-10-21T01 : 13 : 51.7961614Z " 
}

 

 

종료 코드 139 : 용기받은 SIGSEGV와 같은 실패를 나타냅니다

  • 이는 해당 컨테이너받은 SIGSEGV를 나타냅니다
  • SIGSEGV는 세그먼트 오류를 나타냅니다. 프로그램 시도가 액세스 할 때 발생하는 메모리 가 액세스가 허용 아니라고 위치를, 또는 허용하지 않는다 방식으로 메모리 위치를 액세스하려고 시도합니다.
  • 도커 컨테이너의 관점에서,이 중 컨테이너에 의해 사용되는 기본 이미지를 사용하여 응용 프로그램 코드 나 때로는 문제에 문제를 나타냅니다.

종료 코드 143 : 용기받은 SIGTERM과 같은 실패를 나타냅니다

  • 이 컨테이너는 SIGTERM를받은 것을 나타냅니다.
  • SIGTERM을 시작 공통 이벤트는 docker stopdocker-compose stop. 이 경우 출구에 컨테이너를 강제 수동 종료가 있었다 :
고정 표시기 정지 <컨테이너 ID> 
OR
고정 표시기-작성 아래 <컨테이너 ID>
  • 참고 : 때때로 docker stop또한 종료 코드 137이 발생할 수 있습니다이 컨테이너에 연결된 응용 프로그램 핸들 SIGTERM을하지 않는 경우 일반적으로 발생 - 고정 표시기 데몬 10 다음 초 문제를 기다립니다 SIGKILL

 

(일반적으로 쉘 스크립트 사용 포함) 도커 컨테이너 일부 드문 종료 코드

  • 종료 코드 126 : 권한 문제 나 명령이 실행되지 않습니다
  • 종료 코드 127 : 인식 할 수없는 문자 쉘 스크립트에서 가능한 오타

추천

출처www.cnblogs.com/tben/p/12166678.html