Compose 파일 확장하기

Compose 파일 확장하기 (Extend your Compose file)

extends 속성은 서로 다른 파일들, 또는 완전히 다른 프로젝트들 사이에서 공통 구성을 공유하게 해 줘요.

한 곳에서 공통 서비스 옵션 집합을 정의하고 어디서든 참조할 수 있어요. 다른 Compose 파일을 참조해 자기 애플리케이션에서도 쓰고 싶은 서비스를 선택하고, 필요에 따라 일부 속성을 오버라이드할 수 있어요.

출처: 문서

본문

여러 Compose 파일을 사용할 때는 파일의 모든 경로가 베이스 Compose 파일(즉 메인 프로젝트 폴더의 Compose 파일)을 기준으로 해야 해요. extends 파일은 유효한 Compose 파일일 필요가 없기 때문에 이렇게 해요. extends 파일은 구성의 작은 조각을 포함할 수 있어요. 서비스의 어떤 조각이 어느 경로를 기준으로 하는지 추적하는 것은 어렵고 혼란스러우므로, 경로를 이해하기 쉽게 유지하기 위해 모든 경로는 베이스 파일을 기준으로 정의돼야 해요.

extends 속성이 어떻게 동작하는지 (How extends works)

다른 파일에서 서비스 확장 (Extending services from another file)

다음 예시를 보세요:

services:
  web:
    ext...

web 서비스가 다른 파일에 정의된 서비스(예: webapp)를 extends로 참조하면, 기본 구성을 그대로 가져오되 필요에 따라 속성을 오버라이드할 수 있어요. 구체적인 예시는 원본 문서를 참고해요.

extends를 쓸 때의 핵심 포인트:

  • 참조되는 서비스의 구성이 복사되어 현재 서비스에 병합돼요.
  • 현재 파일에서 정의한 속성이 참조된 속성보다 우선해요.
  • 모든 경로는 베이스 Compose 파일을 기준으로 해석돼요.

더 알아보기 (Learn more)