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