CodeGym /コース /Docker SELF /アプリケーションとサービスの起動

アプリケーションとサービスの起動

Docker SELF
レベル 15 , レッスン 3
使用可能

4.1 コマンド docker compose up

コマンド docker compose up は Docker Compose の主要なコマンドで、compose.yaml ファイルで定義されたマルチコンテナアプリケーションを起動することができます。このコマンドは構成で指定されたすべてのサービスを自動的に作成し、起動し、ネットワークを設定し、ボリュームをマウントします。このレクチャーでは、コマンド docker compose up の使用方法、その主なパラメータ、およびベストプラクティスについて詳しく説明します。

コマンド docker compose up の主な機能

  1. コンテナの作成と起動: コマンド docker compose up は、compose.yaml ファイルの services セクションに指定されたすべてのコンテナを作成して起動します。
  2. ネットワークとボリュームの設定: Docker Compose は構成で指定されたネットワークとボリュームを自動的に作成します。
  3. サービスの並列起動: すべてのサービスが並列に起動されるため、マルチコンテナアプリケーションの起動プロセスが速くなります。
  4. ログのモニタリング: コマンドはすべての起動したコンテナのログをリアルタイムで表示し、状態を監視したり問題を迅速に特定したりできます。

コマンド docker compose up の構文


docker compose up [options] [SERVICE...]

説明:

  • [options]: コマンドの動作を設定するための追加パラメータ (例: --detach, --build, --scale)。
  • [SERVICE...]: (オプション) 起動する必要があるサービスのリスト。指定されない場合は、すべてのサービスが起動されます。

4.2 docker compose up の例

docker compose up コマンドの使用例:

1. 全てのサービスを起動する

ファイル compose.yaml に定義されている全てのサービスを起動する:

ターミナル

docker compose up

2. 特定のサービスを起動

特定のサービス、例えば web を起動する:

ターミナル

docker compose up web

3. バックグラウンドで起動

全てのサービスをバックグラウンドで起動するには、オプション -d(detached mode)を使用してください:

ターミナル

docker compose up -d

このオプションを使用すると、コマンドはコンテナが起動した直後に終了し、それらはバックグラウンドで稼働するようになります。

4.3 コマンド docker compose up のパラメータ

docker compose up の便利なパラメータ:

1. パラメータ --build

このパラメータは、コンテナを起動する前に Docker Compose にイメージを再ビルドさせる。ソースコードや Dockerfile に変更を加えた場合に便利だよ。

ターミナル

docker compose up --build

2. パラメータ --force-recreate

パラメータ --force-recreate は、コンフィグが変更されていなくても Docker Compose にコンテナを再作成させる。

ターミナル

docker compose up --force-recreate

3. パラメータ --no-recreate

パラメータ --no-recreate は、既に存在しているコンテナを再作成しないようにする。たとえコンフィグが変更されていても。

ターミナル

docker compose up --no-recreate

4. パラメータ --remove-orphans

このパラメータは、現在の compose.yaml ファイルに定義されていないけど、以前の Docker Compose の実行で作成されたコンテナを削除する。

ターミナル

docker compose up --remove-orphans

5. パラメータ -V, --renew-anon-volumes

これらのパラメータは、匿名ボリュームを再利用するのではなく再作成するよう Docker Compose に指示する。

ターミナル

docker compose up -V

4.4 サンプルとおすすめ

コマンドdocker compose upの異なるオプションを使用したサンプル:

サンプル 1: イメージを再ビルドしてアプリケーションを起動する

この例ではコンテナを起動する前にイメージを再ビルドします。これにより、ソースコードやDockerfileに変更を加えた場合に役立ちます。

Terminal

docker compose up --build

サンプル 2: バックグラウンドで再作成して起動する

この例では、バックグラウンドでコンテナを起動し、設定が変更されていなくても再作成します。

Terminal

docker compose up -d --force-recreate

サンプル 3: 特定のサービスを不要なコンテナを削除して起動する

この例では、サービスwebのみを起動し、現在のcompose.yamlファイル内で定義されていないコンテナを削除します。

Terminal

docker compose up web --remove-orphans

実践的なおすすめ

1. .envファイルの使用

.envファイルを使用して、compose.yamlで使用される環境変数を定義できます。これにより、設定の管理が容易になり、さまざまな環境でのデプロイを簡単にします。

2. ログとモニタリング

コマンドdocker compose upを使用してコンテナを起動すると、すべてのログがコンソールに出力されます。これにより、サービスの状態を追跡し、問題に迅速に対応できます。詳細なモニタリングには、コマンドdocker compose logsdocker compose psを使用してください。

3. ビルドとデプロイの自動化

コマンドdocker compose upを自動化スクリプトやCI/CDパイプラインに統合することで、マルチコンテナアプリケーションのビルドとデプロイのプロセスを自動化できます。たとえば、JenkinsやGitHub Actionsを設定して、コードを更新するたびに自動的にビルド、デプロイ、およびdocker compose upを実行することができます。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION