Samba를 사용하는 Docker 컨테이너가 메시지 없이 종료됩니다.

Samba를 사용하는 Docker 컨테이너가 메시지 없이 종료됩니다.

호스트 변경 사항과 분리하기 위해 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를 중지하고 모든 기록을 지워야 했기 때문에 별로 추천할 수 없습니다.

관련 정보