すべてのスタックを一覧表示する
このステップでは、システム上で実行中のすべての Docker スタックを一覧表示する方法を学びます。Docker スタックとは、一緒にデプロイされるサービスの集合です。スタックを一覧表示する前に、複数コンテナの Docker アプリケーションを定義して実行するために使用される Docker Compose をインストールする必要があります。
まず、Docker Compose をインストールしましょう。Docker Compose のバイナリをダウンロードし、実行可能にします。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
最初のコマンドは、公式の GitHub リポジトリから Docker Compose のバイナリをダウンロードします。$(uname -s)
と $(uname -m)
は、マシンのオペレーティングシステムとアーキテクチャを取得するために使用され、正しいバイナリをダウンロードすることを保証します。2 番目のコマンドは、ダウンロードしたファイルを実行可能にします。
これで Docker Compose がインストールされました。バージョンを確認することで、インストールを検証しましょう。
docker-compose --version
出力には、インストールされた Docker Compose のバージョンが表示されるはずです。
スタックの一覧表示をデモンストレーションするために、簡単なスタックをデプロイする必要があります。簡単な Web サービスを定義する docker-compose.yml
ファイルを作成します。
nano ~/project/docker-compose.yml
次の内容を docker-compose.yml
ファイルに貼り付けます。
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
この docker-compose.yml
ファイルは、nginx:latest
イメージを使用し、ホストのポート 80 をコンテナ内のポート 80 にマッピングする web
という名前の単一のサービスを定義しています。
では、docker stack deploy
コマンドを使用してこのスタックをデプロイしましょう。スタックには mywebstack
という名前を付けます。
docker stack deploy -c ~/project/docker-compose.yml mywebstack
-c
フラグは使用する Compose ファイルを指定し、mywebstack
はスタックに付ける名前です。サービスが作成されてデプロイされていることを示す出力が表示されます。
スタックをデプロイした後、docker stack ls
コマンドを使用して実行中のすべてのスタックを一覧表示できます。
docker stack ls
このコマンドは、デプロイされたすべてのスタックの一覧を表示します。これには、スタックの名前、サービスの数、および各サービスの希望するレプリカ数と現在のレプリカ数が含まれます。出力に mywebstack
が表示されるはずです。