Docker Composeオーケストレーションツールの詳細な説明

Docker Composeオーケストレーションツールの詳細な説明

Docker の作成

Docker Compose は、複数の Docker コンテナを定義して実行するためのツールです。Compose を使用すると、コンテナを起動するためにシェル スクリプトを使用する必要がありません。代わりに、YAML ファイルを使用してアプリケーションに必要なすべてのサービスを構成し、コマンドを使用して YAML ファイルの構成に従ってすべてのサービスを作成および起動できます。これは、複数のコンテナが開発されるシナリオに非常に適しています。

Compose は、開発、テスト、ステージング環境、および CI ワークフローに適しています。

ヤム

YAMLはデータのシリアル化を表現するための非常に読みやすいフォーマットです

関連コマンドとフォーマット

version: この yml ファイルが基づいている compase のバージョンを指定します。 services: コンテナを作成するためのサービス オプションを指定します。 Service name: たとえば、nginx など。 hostname: コンテナのホスト名。 build: イメージをビルドするためのコンテキスト パスを指定します。 context: コンテキスト パス。 dockerfile: イメージをビルドするための Dockerfile ファイル名を指定します。 ports: コンテナ ポートを公開します。-p と同じですが、ポートは 60 未満にすることはできません。たとえば、- 1234:80 です。
		networks: 最上位ネットワークの下に設定されたネットワークに参加 deploy: サービスのデプロイと実行に関連する設定を指定します。これは Swarm モードでのみ使用できます volumes: ホストパスまたはコマンドボリュームをマウントします image: コンテナを実行するイメージを指定します command: コマンドを実行し、デフォルトのコマンドを上書きします container_name: コンテナ名を指定します。コンテナ名は一意であるため、カスタム名を指定するとスケーリングできません
	environment: 環境変数を追加します。restart: 再起動戦略。コンテナを再起動するかどうかを定義します。no (デフォルト、再起動しない)、always (常に再起動する)、
no-failure (終了ステータスが 0 以外の場合に再起動)、unless-stoped (コンテナが終了したときに、デーモン プロセスが開始する前に停止されたコンテナを無視する)
ネットワーク: ネットワークを構成し、ネットワーク カード デバイスなどを指定します。

作成コマンド

基本的な使用形式は docker-compose [options] [COMMAND] [ARGS...] です。

オプション --verbose: 詳細なデバッグ情報を出力します --version: バージョンを出力して終了します -f, --file FILE: 特定の Compose テンプレート ファイルを使用します。デフォルトは docker-compose.yml です
-p, --project-name NAME: プロジェクト名を指定します。デフォルトでは、ディレクトリ名が使用されます。一般的なコマンド build サービスを再構築します ps コンテナを一覧表示します up コンテナを作成して起動します exec コンテナ内でコマンドを実行します scale 起動するサービスコンテナの数を指定します top 実行中のコンテナプロセスを表示します logs サービスコンテナの出力を表示します down コンテナ、ネットワーク、データボリューム、イメージを削除します stop/start/restart サービスを停止/起動/再起動します

インストールの作成

#環境の展開 すべてのホストにdocker環境をインストールします(内容はdockerの基本です)
yum で docker-ce をインストールします。

#Composeをダウンロードします。curlリンクから直接ダウンロードするか、外部にダウンロードしてからLinuxにドラッグすることができます。
残酷だ……

#docker compose 実行権限を与える cp -p docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose

mkdir /root/compose_nginx


#compose を使用してコンテナを作成する#yml ファイルを書き込む vim /root/compose_nginx/docker-compose.yml
バージョン: '3'
サービス:
  nginx:
    ホスト名: nginx
    建てる:
      コンテキスト: ./nginx
      dockerfile: Dockerファイル
    ポート:
     - 1216:80
     - 1217:443
    ネットワーク:
     - クラスター
    ボリューム:
     - ./wwwroot:/usr/local/nginx/html
ネットワーク:
  クラスタ:

#関連ファイルを入れる mkdir nginx
mkdir wwwroot
echo "これは nginx です" > wwwroot/index.html

#ymlファイルを実行してコンテナを作成します docker-compose -f docker-compose.yml up -d

Docker Compose オーケストレーション ツールの詳細な説明については、これで終了です。Docker Compose オーケストレーション ツールに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker.v19 で Docker Compose オーケストレーション ツールをインストールして構成する方法
  • Docker Compose サービスオーケストレーションの詳細な説明
  • Docker Compose を使用して Laravel アプリケーションをオーケストレーションする方法
  • Docker コンテナ オーケストレーション ツール Compose (はじめに)
  • Docker シリーズ: Docker Compose を使用してコンテナをオーケストレーションする

<<:  HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

>>:  MySQL データベース データのロード 複数の用途

推薦する

JavaScript 遅延読み込みの詳細な説明

目次遅延読み込みCSS スタイル: HTML部分:スクリプト部分:要約する遅延読み込み名前の通り、私...

Vue の img の src 画像アドレスの動的スプライシングの問題について

Vue での img の動的スプライシングを見てみましょう。src 画像アドレス、具体的な内容は次の...

bash を使って日付をカウントダウンする方法

重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に...

KVM 仮想化のインストール、展開、管理のチュートリアル

目次1.kvmの展開1.1 kvmのインストール1.2 kvm Web管理インターフェースのインスト...

jQuery における Ajax の関連知識ポイントのまとめ

序文JavaScriptを学ぶ学生は、 AJAX (非同期JavaScriptとxml) 変換は非同...

ページ下部のフッターを修正する方法(複数の方法)

フロントエンド Web エンジニアとして、ページ効果を作成するときに次の現象に遭遇したことがあるはず...

Sitemesh チュートリアル - ページ装飾技術の原理と応用

1. 基本概念1. Sitemeshはページ装飾技術です。 1 : フィルターを通してページアクセス...

Docker で Nginx イメージ サーバーを構築する方法

序文一般的な開発では、画像をディレクトリにアップロードし、ディレクトリとファイル名を連結してデータベ...

JavaScript Promise の徹底解説

目次1. Promise とは何ですか? 2. なぜ Promise が存在するのでしょうか? 3つ...

nestjs における例外フィルター Exceptionfilter の具体的な使用法

Nestjs 例外フィルターといえば、非常に強力な .Net のグローバル フィルターについて触れな...

MySQL マルチテーブルクエリ例の詳しい解説 [リンククエリ、サブクエリなど]

この記事では、例を挙げて MySQL のマルチテーブル クエリについて説明します。ご参考までに、詳細...

Docker イメージ + nginx を使用して Vue プロジェクトをデプロイする方法

1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...

Nodejs は readline を使用してコンテンツ入力を促すサンプルコード

目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...

JS はシンプルなカレンダー効果を実装します

この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...

弾力性のあるナビゲーション効果を実現するJavaScript

この記事では、弾性ナビゲーション効果を実現するためのJavaScriptの具体的なコードを参考までに...