まとめ BuildKit 使ってなくても COMPOSE_DOCKER_CLI_BUILD=1 を使う キャッシュが効いてない CI をいじっていてタイトルの問題に気づいたのが発端。 Cloud Build でキャッシュを使いつつ、ビルドとテストを実行するためにこうしていた。 1 前回のビルドのアプリケーションイメージを docker pull する 2 docker build --cache-from でキャッシュを利用しつつイメージを作る 3 docker-compose run で他のミドルウェア等を起動しつつイメージのテストを実行 4 テストが通れば 2 で作ったイメージを push うまくいくと思っていたけど、2 と 3 で都度アプリケーションイメージがビルドされてしまう。なんでだろなあ、と調べていた。 試していると、COPY を機に docker build と docker