Bake
Bake
Bake는 Docker Buildx의 기능으로, 복잡한 CLI 표현식 대신 선언적(declarative) 파일로 빌드 구성을 정의할 수 있게 해 줘요. 또한 단 한 번의 호출로 여러 빌드를 동시에(concurrently) 실행할 수도 있어요.
출처: 문서
본문
Bake 파일은 HCL 또는 JSON 형식으로 작성할 수 있어요. Bake는 Docker Compose 파일에서 직접 빌드할 수도 있어요. 아래는 HCL 형식으로 작성한 Bake 파일 예시예요:
group "default" {
targets = ["frontend", "backend"]
}
target "frontend" {
context = "./frontend"
dockerfile = "frontend.Dockerfile"
args = {
NODE_VERSION = "22"
}
tags = ["myapp/frontend:latest"]
}
target "backend" {
context = "./backend"
dockerfile = "backend.Dockerfile"
args = {
GO_VERSION = "1.26"
}
tags = ["myapp/backend:latest"]
}
위에서 target "frontend" 블록은 빌드 컨텍스트, Dockerfile, 태그 같은 자체 구성을 가진 하나의 빌드 타깃을 정의해요.
위 Bake 파일로 빌드를 실행하려면 다음 명령을 쓰면 돼요:
$ docker buildx bake
이렇게 하면 default 그룹에 속한 frontend와 backend 타깃을 동시에 병렬로 빌드해요.
시작하기 (Get started)
Bake 사용법을 익히고 싶다면 Bake 소개(introduction) 문서를 먼저 확인해 보세요.