ついに。。!!
長らくdocker-composeでbuild kitが使えない時間を過ごしてきたがついに使用可能なdocker-composeがリリースされた。
最近まではrc版を入れてれば使えたけど今回は正式版としてリリースされている。
COMPOSE_DOCKER_CLI_BUILD=1を環境変数として設定してdocker-compose upなりでビルドを開始するだけで出力がbuildkitのものになってることがわかります。
docker-composeように書いてたDockerfileも並行性を意識した書き方に変えていけば大きな効果が得られそうですね。
$ export COMPOSE_DOCKER_CLI_BUILD=1 $ time docker-compose up -d #2 [internal] load .dockerignore #2 digest: sha256:1c229962346e49a4e6ce90a6fe6ac1cab160b9124ed84683dd7142584dcf3f46 #2 name: "[internal] load .dockerignore" #2 started: 2019-11-20 14:03:40.104119588 +0000 UTC #2 completed: 2019-11-20 14:03:40.130367781 +0000 UTC #2 duration: 26.248193ms #2 transferring context: 2B done
installはとっても簡単。今回はlinux上でやってますがdarwinもgithubからダウンロードすれば使えます (docker-for-macとかを経由してる場合は新たにパスを切る必要があるかと思います。)
circleciで使うなら下記のような感じでインストールできます。
install_docker_compose: description: "Install docker-compose" steps: - run: name: "Install docker-compose" command: | curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > ~/docker-co mpose chmod +x ~/docker-compose sudo mv ~/docker-compose /usr/local/bin/docker-compose docker-compose version