Docker-composeはdockerのツールですが、docker-composeとは何かを理解する前に、Dockerとは何かを説明しましょう。 Dockerは、アプリケーションとその依存関係を組み合わせて任意のオペレーティングシステムで実行するために使用される仮想コンテナーです。 Dockerは、Docker-composeと呼ばれるツールをサポートしており、マルチコンテナーアプリケーションの処理に使用されます。
Docker-composeは構成にYAMLファイルを使用し、CLI(コマンドラインインターフェイス)からすべてのサービスを管理します。サービスの開始またはプロセスの作成のいずれかで、このツールを使用してすべてのプロセスを簡単に処理できます。
この記事では、Debian 11でのインストールのインストール手順を学び、その使用法のいくつかの基本的なコマンドについても説明します。
Debian11にDocker-Composeをインストールする方法
Docker-ComposeのパッケージはDebian11のリポジトリに付属していないため、Githubから直接インストールし、フラグ-oを出力として使用し、指定されたパスに出力を保存します。これを実行するには、コマンド:
$ sudo curl -L https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Docker-Composeをダウンロードしてインストールしたら、chmodを使用してファイルのアクセス許可を変更します。
$ sudo chmod +x /usr/local/bin/docker-compose

インストールを確認するために、次のコマンドを使用してDocker-Composeのバージョンを確認します。
$ docker-compose --version

出力から、Docker-Composeが正常にインストールされていることが確認されました。
Debian11でDocker-composeを使用する方法
ここでは、Debian 11でDocker-composeを使用するためのいくつかの基本的なコマンドについて説明します。最初に、ディレクトリを作成し、コマンドを実行してHello-itslinuxという名前のディレクトリを作成するとします。
$ mkdir Hello-itslinux
$ cd Hello-itslinux

次に、コマンドを使用してnanoエディターを使用してYMLファイルをここに作成します:
$ nano docker-compose.yml

ここにコンテンツを入力します。たとえば、2つのサービスdbとWordPressを初期化します。どちらのサービスも、Docker-Composeによって実行されると独自のイメージを作成します。このコードは次のようになります:
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:

CTRL + Sを押します ファイルを保存し、 CTRL + X エディターを終了するには、docker-composerを使用してファイルを次のように実行します。
$ sudo docker-compose up -d

これで、上記のコマンドは両方を構築します。 dbおよびWordPressコンテナーを実行し、それらも実行します。ここで、docker-composeを使用してコンテナーを削除および停止する場合は、次のコマンドを実行します。
$ sudo docker-compose down

Docker-Composeを使用してマルチコンテナーアプリケーションを構築することもできます。この目的のために簡単な例を検討しています。nanoエディターを使用してファイルを再度開き、新しいコードを挿入します。
$ nano docker-compose.yml

次に、「サービス」セクションの各セクションがdocker-composeの実行時に個別のエントリを作成するコードを編集します。
version: '3'
services:
distro:
image: alpine
restart: always
container_name: Alpine_Distro
entrypoint: tail -f /dev/null

CTRL + Sを押してファイルを保存します CTRL + Xを押してエディタを終了します 。エディターを閉じたら、コマンドを実行してコンテナーを作成します。
$ sudo docker-compose up -d

コンテナが構築されました。コンテナのステータスを確認するには、次のコマンドを実行します。
$ sudo docker ps

次に、それらを削除するために、downコマンドを次のように使用します。
$ sudo docker-compose down

他にも多くの高度なコマンドがあり、その助けを借りて他の多くのタスクを実行できます。 Debian 11からDocker-Composeを削除する場合は、次のコマンドを実行します。
$ sudo rm /usr/local/bin/docker-compose

Docker-composeはDebian11から正常に削除されました。
結論
DockersのツールであるDocker-composeを使用して、単一のマシンからマルチ環境をホストできます。情報を群れの形で保持するため、コンテナ間で情報を通信する際に非常に安全です。この記事では、最初にGithubから直接Debian 11にDocker-Composeをインストールする方法について説明し、次に2つのサービスdbとWordPressを構築し、Docker-composeを使用して簡単なアプリケーションを構築することでその使用法について説明します。