8.2.디펜던시 체크가 적용된 컨테이너 실행하기

디펜던시 체크 필요성과 방법

  • 분산 애플리케이션의 경우 이상이 생긴 컨테이너를 교체할 때 컨테이너 간 의존 관계를 고려해야 한다.
  • 의존 관계를 만족하는지 점검하는 디펜던시 체크 기능을 도커 이미지에 추가하여 애플리케이션 실행 전에 필요한 요구 사항을 확인한다.
  • 디펜던시 체크가 성공하면 애플리케이션이 실행되고 실패하면 애플리케이션이 실행되지 않는다.
  • 애플리케이션 실행 명령에 로직을 추가하는 방법으로 구현

Dockerfile 적용

  • API 사용 가능 여부에 따라 애플리케이션을 실행할 지 결정
001) FROM diamol/dotnet-aspnet
002) 
003) ENV RngApi:Url=http://numbers-api/rng
004) 
005) CMD curl --fail http://numbers-api/rng && \
006)     dotnet Numbers.Web.dll
007) 
008) WORKDIR /app
009) COPY --from=builder /out/ .
  1. 005: CMD 명령은 컨테이너를 실행할 때 실행 &&는 앞에 오는 명령이 성공하면 뒤에 오는 명령을 실행 API를 사용할 수 없다면 curl 명령이 실패하고 컨테이너가 그대로 종료
  2. 006: 닷넷 코어 애플리케이션 실행 명령

links

social