호스트 변경 사항과 분리하기 위해 Docker 컨테이너에 여러 서비스가 있는 CentOS를 실행하는 서버가 있습니다.
지난 금요일에 CentOS를 업데이트한 후 서비스 중 하나가 시작되었다가 즉시 종료되었습니다. 다른 15개 이상의 서비스는 괜찮습니다.
컨테이너 설정을 복제하고 컨테이너 이름을 변경한 후 동일한 문제를 다시 작성했습니다. 컨테이너가 시작된 다음 메시지 없이 종료됩니다.
컨테이너는 다음에서 파생됩니다.David Personette의 삼바 컨테이너. 이제 종료되지만 사용되지 않는 실제 명령은 다음과 같습니다.
exec ionice -c 3 smbd -FS
Docker를 다운그레이드해야 하나요? 부작용이 있나요? 다시 작동하도록 할 수 있는 다른 방법이 있나요? 우리는 운영 체제를 추상화하기 위해 컨테이너를 선택했습니다. 이 추상화가 상상만큼 좋지 않습니까?
답변1
디버그 수준을 높이지 않으면 컨테이너는 주석 없이 종료됩니다. 이와 같은 것을 사용할 수 있습니다 --debuglevel=4
.
이 작업을 완료한 후 컨테이너를 다시 빌드하고 다시 시작하면 마지막에 다음과 같은 결과가 표시됩니다.
Server exit (EOF on stdin)
이는 솔루션을 가리키며 smbd
호출을 다음으로 변경합니다.
exec ionice -c 3 smbd -FS < /dev/null
그리고 컨테이너는 더 이상 직접 종료되어서는 안 됩니다.
이전 버전과 호환되지 않는 변경의 원인이 무엇인지 또는 기존 dockerhub 항목에 대해 테스트되지 않은 이유가 무엇인지 잘 모르겠습니다.
1.11로 업그레이드할 때 컨테이너 두 개가 깨졌습니다. 1.10.3으로 다운그레이드하는 동안 심각한 Cannot stop container .... Container does not exist: container destroyed
오류가 발생했습니다. Docker를 중지하고 모든 기록을 지워야 했기 때문에 별로 추천할 수 없습니다.