GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Docker Composev2の新機能

Docker Composeは、コンテナーを操作するための非常に人気のあるツールです。一方、通常のdocker CLIは、一度に1つのコンテナーdocker-composeと対話します。 複数のコンテナをまとめて制御できます。

Composeは現在、Dockerとは独立して配布されるスタンドアロンプ​​ロジェクトとして存在します。 Composeを使用する場合は、別途ダウンロードする必要があります。最新のDockerバージョンを提供している場合でも、OSパッケージマネージャーが遅れることが多いため、多くのユーザーはバイナリを直接取得することになります。

Docker Composev2はDockerCon2021で発表されました。これは、dockerに統合することで、Composeエクスペリエンスに大きな変化をもたらすことを約束します。 CLI。 v2には、コンテナスタックの管理に役立つ新しい便利な機能も付属しています。

新しい「dockercompose」コマンド

Docker Compose v2は、Compose機能をDocker自体にもたらします。最新のDockerCLIがインストールされている場所であればどこでも、作成を使用できます。追加の手順は必要ありません。その下で、DockerはComposeプロジェクトによって提供される機能を引き続き使用します。

既存のdocker-compose コマンドは、新しいdocker composeに直接マップする必要があります カウンターパート。ほとんどの場合、それ以上の変更を必要とせずにダッシュをドロップできます。 docker compose 少数は実装されませんが、ほとんどすべてのComposev1サブコマンドとフラグをサポートします。

Compose v2は、引き続きdocker-composeを介した呼び出しをサポートします バイナリ。 docker composeを使用するようにすぐに更新しなくても、既存のワークフロースクリプトは機能し続けるはずです。 。長期的には、ほとんどの作成者が代わりに新しいフォームに切り替える可能性があります。

DockerComposev2での実験

Composev2は現在ベータ版です。開発中ですが、新しいバイナリはすでにWindowsおよびMac用のDockerDesktopに同梱されています。 Desktop v3.4は、docker composeのサポートを追加しました コマンドなので、今日すでに使用できる可能性があります。 Linuxパッケージは年内に更新されます。当面の間、手動インストールスクリプトを利用できます。

docker-compose コマンドは現在v1またはv2を呼び出すことができ、デフォルトはv1です。このオプションは、一部のユーザーに対して自動的にオンになります。最終的にはすべての人にv2を起動します。

docker-composeを手動で切り替えることができます docker-compose disable-v2を実行してv1とv2の間で またはdocker-compose enable-v2 。これにより、v2で動作しない既存の作成ファイルとの互換性を維持できます。 docker compose コマンドは常にv2を使用します。

仕様の変更

作成機能をDockerCLIに導入するには、作成仕様を変更する必要があります。これにより、コマンドの実装とdocker-compose.ymlが区別されるようになりました。 YAML形式。

改訂されたアプローチは、追加機能を統合する新しい機会を提供します。実験的な実装をより迅速に提供することができ、作成チームはコミュニティの提案を追加するためのより良い準備ができています。 CLIはYAMLファイル形式からより分離されているため、代替の実装(docker composeなど) )可能性があります。

CLI以外にも、Composer仕様の存在により、クラウドプロバイダーはCompose機能も実装できます。これで、docker compose upを実行できます クラウドベースのDockerコンテキストに対して、アプリを本番環境で起動します。 Dockerには、AmazonECSおよびMicrosoftACI環境のサポートが組み込まれています。

内部的には、Compose v2はデフォルトでBuildkitを使用して、ビルドを高速化します。より多くのタスクが並行して実行されるため、全体的なパフォーマンスが向上し、処理時間が短縮されます。

v2の新機能

docker-composeからの切り替え docker compose v2での変更はこれだけではありません。コンテナスタックとのやり取りに影響を与える新機能もあります。

Compose v1の制限の1つは、プロジェクト名へのアプローチです。 docker-compose up -dを実行すると 、Composeは、各コンテナのサービス名の前にプロジェクト名を追加します。これにより、すべてのコンテナが確実にグループ化されます。

v1は、作業ディレクトリの名前からプロジェクト名を推測します。 COMPOSE_PROJECT_NAMEを設定することにより、手動で別の名前を選択できます 環境変数。

v2は、プロジェクト名を設定するためのCLIフラグを追加することにより、これを簡素化します。 --project-nameを追加します または-p 環境を変更せずに、作業ディレクトリの名前を無視します。プロジェクト名を手動で設定すると、複数の作業ディレクトリのコンテナを1つのスタックに結合したり、コンテナスタックの複数のインスタンスを開始したりできます。

もう1つの新しいv2機能を使用すると、システム上のすべての作成スタックを一覧表示できます。 docker compose ls コマンドは、プロジェクト名とそのステータス(実行中または停止中)のテーブルを提供します。これは、docker compose psを補完します スタック内のコンテナのステータスを提供するコマンド。

Compose v2は、docker compose cpのサポートも追加します 。このコマンドは、docker cpと同様に機能します コンテナの内外にファイルをコピーできます:

docker cp my-container local-file.txt /path/to/container/file.txt
概要

Docker Compose v2は、コンテナー管理ツールの利便性を向上させる大幅なアップグレードです。 ComposeをメインのDockerCLIに統合すると、Dockerがどこにいても利用できるようになります。これにより、アクセスしやすくなり、使い始めるのが簡単になります。

Compose v2には、さまざまなスタックやコンテナでの作業を容易にするための追加のユーティリティコマンドもいくつか用意されています。システムで実行されているものの可視性が向上します。執筆時点ではまだベータ版ですが、WindowsとMacのユーザーは現在v2を使用でき、LinuxのユーザーはGitHubから最新のビルドをダウンロードできます。


Docker
  1. rdiff-backupの新機能

  2. DockerComposeの使用方法

  3. DockerComposeでのホスト名の設定

  1. DockerComposeとは

  2. Docker(およびLinuxコンテナー)とは何ですか?

  3. DockerComposeを使用するためのクイックガイド

  1. Dockerとは何ですか?

  2. Ubuntu18.04にDockerComposeをインストールする方法

  3. Ubuntu20.04にDockerComposeをインストールする方法