LoginSignup
1
0

More than 3 years have passed since last update.

Buildkitを「docker-compose build」で使う方法

Last updated at Posted at 2021-02-21

皆さんこんにちは!

まだまだ毎日投稿しているのですがネタ尽きないっす。

なんならもっと書きたいぐらい。

色々記事書いてるので、ぜひ時間のある方はほかの記事もご覧ください!

さて、今回はDockerの記事です。

Dockerで作ったイメージをAWSのECRにプッシュしようとしたら以下のような警告が表示されました。

[+] Building 0.1s (2/2) FINISHED
 => [internal] load build definition from Dockerfile                                     0.0s
 => => transferring dockerfile: 2B                                                       0.0s
 => CANCELED [internal] load .dockerignore                                               0.0s
 => => transferring context:                                                             0.0s
failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount119702719/Dockerfile: no such file or directory

明らかにビルドできてない気がする。

実際にECSでこのイメージを使ってもエラーが表示される。

ってことで半日くらいかかった末にようやく答えが出た。

僕自身WindowsでDockerの開発を行っているのですが、Windowsだとこの現象が起きるらしいです。

悲し。。。

なので、docker-composeでビルドしちゃえばいいんじゃねって思って半日近くの時間を費やしようやく答えを見つけた!

どうやらdocker-composeはデフォルトではBuildkitに対応していないらしい。

なので、docker-composeでBuildkitを有効にする魔法のコマンドを打つ!!!

Mac

COMPOSE_DOCKER_CLI_BUILD=1 docker-compose build

Windows

set "COMPOSE_DOCKER_CLI_BUILD=1" & set "DOCKER_BUILDKIT=1" & docker-compose build

COMPOSE_DOCKER_CLI_BUILD=1という環境変数を追加してあげることでBuildkitを使用してコンテナをビルドできるそうです。

Dockerは習い始めて約2週間、AWSは約1週間くらいなのですが、なれるまでに時間がかかりそうですね。

以上、「[Docker]Buildkitを「docker-compose build」で使う方法」でした!

良ければ、LGTM、コメントお願いします。

また、何か間違っていることがあればご指摘頂けると幸いです。

他にも初心者さん向けに記事を投稿しているので、時間があれば他の記事も見て下さい!!

Thank you for reading

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0