docker-compose build
Usage: docker-compose build [options] [--build-arg key=val...] [SERVICE...]
Options:
--build-arg key=val Set build-time variables for services.
--compress Compress the build context using gzip.
--force-rm Always remove intermediate containers.
-m, --memory MEM Set memory limit for the build container.
--no-cache Do not use cache when building the image.
--no-rm Do not remove intermediate containers after a successful build.
--parallel Build images in parallel.
--progress string Set type of progress output (`auto`, `plain`, `tty`).
--pull Always attempt to pull a newer version of the image.
-q, --quiet Don't print anything to `STDOUT`.
利用方法: docker-compose build [オプション] [--build-arg key=val...] [SERVICE...]
オプション:
--build-arg key=val サービスに対してビルド時の変数を設定します。
--compress gzip を使ってビルドコンテキストを圧縮します。
--force-rm 常に中間コンテナーは削除します。
-m, --memory MEM ビルドするコンテナーのメモリ上限を設定します。
--no-cache イメージビルド時にキャッシュを使用しません。
--no-rm ビルド生成後に中間コンテナーを削除しません。
--parallel 並行的にイメージをビルドします。
--progress string 処理経過の出力タイプ。(`auto`、`plain`、`tty`)
--pull プルを行う際に常に最新版のイメージの取得を試みます。
-q, --quiet `STDOUT` に何も出力しません。
サービスはプロジェクト名_サービス
として構築時にタグ付けられます。
例えばcomposetest_db
です。
Compose ファイルがイメージ 名を指定している場合、イメージはその名称によってタグづけされます。変数が用いられている場合は、あらかじめ置換されます。
これについては変数置換 を参照してください。
サービスの Dockerfile やビルドディレクトリの内容を変更する場合は、docker-compose build
を実行して再ビルドします。
Docker CLI を利用したネイティブビルド
Compose ではデフォルトでdocker
CLI を利用してビルドを実現しています(これは「ネイティブビルド」と呼ばれます)。
docker
CLI を利用することによって、BuildKit のような機能を活用できることになります。
そのような機能は Compose そのものにおいてはサポートされていません。
BuildKit は Docker Desktop においてはデフォルトで有効になっています。
しかしこれ以外のプラットフォームでは環境変数DOCKER_BUILDKIT=1
を設定しておくことが必要になります。
「ネイティブビルド」と「Compose ビルド」を切り替える方法については Compose CLI 環境変数 の節を参照してください。
fig, composition, compose, docker, orchestration, cli, build