구성 오버라이드
구성 오버라이드 (Overriding configurations)
Bake는 빌드 구성을 파일에서 불러오는 것을 지원해요. 하지만 때로는 이러한 구성 정의를 더 유연하게 설정해야 할 때가 있어요. 예를 들어 특정 환경에서 빌드하거나 특정 타깃을 위해 속성을 오버라이드하고 싶을 수 있죠.
출처: 문서
본문
다음 목록의 속성들은 오버라이드할 수 있어요:
- 파일 오버라이드 (File overrides)
- CLI 오버라이드 (CLI overrides)
- 환경 변수 오버라이드 (Environment variable overrides)
이 속성들을 오버라이드하는 방법은 크게 세 가지예요.
파일 오버라이드 (File overrides)
타깃의 빌드 구성을 정의하는 여러 개의 Bake 파일을 불러올 수 있어요. 구성을 파일별로 분리해 더 잘 정리하고 싶을 때, 또는 어떤 파일을 불러오느냐에 따라 구성을 조건부로 오버라이드하고 싶을 때 유용해요.
기본 파일 탐색 (Default file lookup)
-f 플래그로 어떤 파일을 불러올지 지정할 수 있어요. 파일을 지정하지 않으면 Bake는 다음 순서로 파일을 찾아요:
여러 개의 Bake 파일이 발견되면 모든 파일이 로드되어 하나의 정의로 병합돼요. 파일은 탐색 순서에 따라 병합돼요.
$ docker buildx bake --print
[+] Building 0.0s (1/1) FINISHED
=> [internal] load local bake definitions
=> => reading compose.yaml 45B / 45B
=> => reading docker-bake.hcl 113B / 113B
--print 플래그를 쓰면 현재 로드되는 정의와 그 우선순위를 확인할 수 있어요.
CLI 오버라이드 (CLI overrides)
빌드 명령과 함께 CLI에서 직접 특정 타깃 속성을 오버라이드할 수 있어요. 자세한 내용은 Bake 명령어의 플래그를 참고해요.
환경 변수 오버라이드 (Environment variable overrides)
변수에 정의된 속성들은 환경 변수로 오버라이드할 수 있어요. 이 방식을 쓰면 CI 같은 환경에서 동일한 Bake 파일로 다른 값을 쉽게 적용할 수 있어요.