技術ノート Linux Docker Compose とは何ですか? どのように使用しますか?

Docker Compose とは何ですか? どのように使用しますか?

Docker Compose とは何ですか? どのように使用しますか?

Docker Compose は、さまざまな Docker コンテナのデプロイメントを一元管理するために使用できるツールです。これは、各サービスを個別に管理されるコンテナーに簡単に配置できるため、複数のマイクロサービスを必要とするアプリケーションにとって重要なツールです。

Docker Compose は何をするのでしょうか?

Docker Compose とは何ですか? どのように使用しますか?

Docker コンテナは、分離された環境でアプリケーションを実行するために使用されます。現在では、Docker がもたらす多くの利点により、アプリケーションのデプロイメントが Docker で行われるのが非常に一般的になっています。ただし、多くの場合、単一のコンテナーを実行するほど単純ではありません。通常、多くのコンテナが集まって、多くの可動部分で構成される 1 つのまとまったサービスとして機能することがあります。

Docker Compose とは何ですか? どのように使用しますか?

デプロイメント時にこれらすべてを管理するのは面倒なので、それをクリーンアップするために、Docker は複数のコンテナーを同時に実行するために使用される構成ツールである Docker Compose を提供します。すべての構成を 1 つの YAML ファイルで定義し、1 つのコマンドですべてのコンテナーを起動できます。

Docker Compose とは何ですか? どのように使用しますか?

Docker Compose を使用すると、すべてのサービスを 1 つの大きなコンテナーに入れるのではなく、個別に管理可能なコンテナーに分割できます。これは、すべてを個別のコードベースで管理でき、個々のコンテナーを手動で起動する必要がないため、構築とデプロイメントの両方に適しています。

Docker Compose の使用は、次の 3 つのステップのプロセスです。

  • Dockerfile を使用してコンポーネント イメージを構築するか、レジストリから取得します。
  • すべてのコンポーネント サービスを
    docker-compose .yml
    ファイル。
  • を使用してすべてを一緒に実行します。
     docker-compose
    CLI。

Docker Compose は別の種類の Dockerfile ではありません。 Dockerfile を使用して Docker コンテナを構築して公開する必要があります。ただし、これらを直接実行する代わりに、Docker Compose を使用して複数コンテナー デプロイメントの構成を管理できます。

Docker Compose とは何ですか? どのように使用しますか?

Docker Compose をどのように使用しますか?

docker compose ファイルの構成は次のように行われます。

 docker-compose .yml

。 Dockerfile のように、これをプロジェクトのルートに配置する必要はありません。実際、他のコードに依存しないため、どこにでも使用できます。ただし、イメージをローカルでビルドする場合は、ビルドするコードを含むプロジェクト フォルダーにイメージを配置する必要があります。

Compose 構成ファイルは次のようになります。この構成では、

 wordpress

コンテナを Docker Hub から切り離します。ただし、これは MySQL データベースに依存しており、これも Compose によって作成されます。

バージョン: '3'

サービス:

データベース:

画像: mysql:5.7

ボリューム:

– db_data:/var/lib/mysql

再起動: 常に

環境:

MYSQL_ROOT_PASSWORD: rootパスワード変更

MYSQL_DATABASE: ワードプレス

MYSQL_USER: ユーザー名変更

MYSQL_PASSWORD: パスワード変更

ワードプレス:

依存:

– データベース

画像: ワードプレス: 最新

ポート:

– 「8000:80」

再起動: 常に

環境:

WORDPRESS_DB_HOST: db:3306

WORDPRESS_DB_USER: ユーザー名変更名

WORDPRESS_DB_PASSWORD: パスワード変更

ボリューム:

データベースデータ:

このファイルの形式を見てみましょう。まず、バージョン番号です。 使用しているバージョンに応じて 構文が変わる可能性があるためです。

次にサービスのリストです。 1 つ目は「db」という名前で、常に再起動するように設定された mysql:5.7 コンテナを使用し、環境変数を使用してユーザーとパスワードでデータベースを構成します。再起動後もデータを維持するために、このイメージは MySQL データ ディレクトリにマウントされた Docker ボリュームで構成されています。

もう 1 つのサービスは「wordpress」で、これはデータベース サービスに依存し、Docker が実行前にデータベースが起動していることを確認します。ポート 80 をポート 8000 として公開し、MySQL に接続できるようにいくつかの環境変数を設定します。データベースのホストが db:3306 に設定されていることに注意してください。これにより、WordPress コンテナが「db」サービスに接続するように指示されます。

最後に、ボリュームは永続ストレージ用に定義されます。オプションで、コンテナーの カスタム ネットワークを定義することも できます。設定できる拡張オプションは多数あるため、何か特定のことを実行したい場合は、 Docker Compose のドキュメントを確認してください。

構成が完了すると、このサービスを開始するのは簡単です。 docker-compose up 実行するだけで、必要なコンテナがすべてプルされ、サービスが開始されます。

 docker-compose up -d

また、 docker ps を使用すると、システム上でサービスが実行されていることが確認できるはずです。この場合、WordPress が正常に起動して実行されていることがわかります。

Docker Compose とは何ですか? どのように使用しますか?

Docker Compose を使用したビルド

Docker Compose は Dockerfile プロジェクト内でも使用でき、Docker Hub から取得するのではなくローカルでイメージを構築して実行するように設定できます。

これを行うには、サービスに build セクションを追加するだけです。異なるコンテキスト ディレクトリを設定したり、イメージごとに異なる Dockerfile を設定したりできます。

バージョン:「3.8」

サービス:

ウェブアプリ:

建てる:

コンテキスト: ./dir

dockerfile: Dockerfile-alternate

画像: 画像名:タグ

この場合、 image: 変数も設定されていますが、ここでは Docker Compose によって構築されたイメージにタグを付けるために使用されます。

「 Docker Compose とは何ですか? どのように使用しますか?」に関するベスト動画選定!

Docker Composeを超ざっくり解説!【何となく理解するIT】
【docker-compose講座2】データベースコンテナの作成 / depends on ディレクティブとヘルスチェック / マイグレーションの必要性【10:07】