【ビルドキット】
BuildKit とは?
最終更新:
💡 依存関係とキャッシュを使って、イメージ作成を進めるエンジン
コンテナイメージなどを作るためのビルドエンジン。依存関係に基づく並列実行やキャッシュの再利用を行い、Dockerのビルドでも使われる。実際の速度や利用できる機能は、ビルド内容と環境による。
📌 このページのポイント
普通のDockerビルドと別のコマンドなの?
全部の命令を同時に実行するの?
キャッシュはどう使うの?
処理の内容や入力ファイルの内容を調べて、使える結果を再利用するよ。同じビルドを繰り返すときの作業を減らせるけれど、ファイルや手順が変われば、必要な部分を作り直すんだ
パスワードはどう渡す?
ビルド時の--secret指定と、DockerfileのRUN --mount=type=secretを組み合わせて、必要な処理にだけ渡す方法があるよ。ARGやENVに秘密情報を入れる方法は避けよう。ただし、参照した内容をコマンドがファイルやログに書けば、その出力に残りうる。マウントを使うだけで、どんな処理も安全になるわけではないんだ
📖 おまけ:英語の意味
「BuildKit」 = ビルド用ツールキット
💬 Dockerのビルドで使われるエンジンの名前だよ。docker buildというコマンドを置き換える名前ではなく、その裏でビルドを行う仕組みなんだ