Docker (8) - bakeを使う -
なんかDocker buildxにbakeっていうのがあってDockerイメージを並列ビルドするのに使えるものっぽい。設定ファイルはHCL・JSON・YAMLで書けるみたいだけど今回はHCLを使う
ディレクトリ構成
.
├── docker-bake.hcl
├── nginx
│   ├── Dockerfile
│   ├── index.php
│   └── nginx.conf
├── php-fpm
│   ├── Dockerfile
│   └── php-fpm.conf
└── php-fpm.conf
前回で使ったnginx+php-fpmな環境のビルドをbakeを使ってビルドする
docker-bake.hcl
group "default" {
    targets = [ "nginx", "php-fpm" ]
}
target "nginx" {
    context = "./nginx"
    dockerfile = "Dockerfile"
    tags = ["nginx"]
}
target "php-fpm" {
    context = "./php-fpm"
    dockerfile = "Dockerfile"
    tags = ["php-fpm"]
}
bakeファイルには
- compose.yml
 - docker-compose.yml
 - docker-compose.yaml
 - docker-bake.json
 - docker-bake.hcl
 - docker-bake.override.json
 - docker-bake.override.hcl
 
などがある模様。詳しくはhttps://docs.docker.com/build/bake/reference/
実行
docker buildx bake
実行すると
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
php-fpm      latest    9cfd8e53455a   4 days ago   493MB
nginx        latest    f8535c02fb1b   4 days ago   192MB
というように複数のDockerイメージを並列でビルドしてくれるっぽい
余談
でもいまどきってDocker Compose使うのが結構主流っぽそうなのでどうなんだろなっていう印象w