2

최근 테스트 컨테이너의 시작 시간에 문제가 발생했습니다. 느린 컴퓨터는 30 초 하드 코딩 된 컨테이너를 시작할 수 없습니다.테스트 컨테이너의 StartupCheckStrategy와 WaitStrategy의 차이점

구성 가능한 시간 제한이있는 WaitStrategy로 모든 검사를 이동하여 문제가 해결되었습니다.

두 검사를 모두 수행해야하는 이유가 있습니까? StartupCheckStrategy와 WaitStrategy에서 체크해야 할 항목은 무엇입니까?

답변

3

죄송합니다. 조금 혼란 스럽습니다.

StartupCheckStrategy은 Docker가 컨테이너를 전혀 시작할 수 있는지 여부를 확인하기위한 것입니다. 기본적으로 '컨테이너가 실행 상태에 도달 했습니까?'라는 두 가지 변형이 있습니다.

컨테이너가 실행 중이기 때문에 실제적으로 유용한 작업 (예 : 연결을 수락하거나 작동)을 수행 할 준비가되었다는 의미는 아니며 이것이 WaitStrategy의 용도입니다. 기본 대기 확인은 TCP 포트가 수신 중인지 확인하기 만하면됩니다. 그러나보다 정교한 검사로이를 무시할 수 있습니다. 드라이버를 통해 연결을 설정하거나 로그 문자열을 찾으려고합니다.

수표를 WaitStrategy 구현으로 이동하여 올바른 작업을 한 것 같습니다. 다시 혼란스럽게 생각합니다. 우리는 분명히 이해하기 쉽고 일관성있게 만들기 위해 문서에 대해 약간의 작업을해야합니다.