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 データベース データのロード 複数の用途

推薦する

MySQL開発標準と使用スキルの概要

1. 命名規則1. データベース名、テーブル名、フィールド名には小文字を使用し、アンダースコアで区切...

Docker クリーニングの一般的な方法と問題点

大規模な開発に Docker を使用する場合でも、クリーンアップ戦略がなければ、ディスクがすぐにいっ...

Nginx gzip設定について

nginx がリソース圧縮を実現する原理は、ngx_http_gzip_module モジュールを介...

Linux で Tomcat を実行するいくつかの方法の説明

Linux での Tomcat の起動とシャットダウンLinux システムでは、コマンド操作を使用し...

DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

Jenkins をインストールした後、プラグインの初期ダウンロードが常に失敗し、インストールが失敗し...

jQueryとCSSを組み合わせてトップに戻る機能を実現

CSS操作 CS $("").css(名前|プロ|[,値|関数]) 位置$(&q...

LinuxでHomebrewを使用する正しい方法

多くの人が Linux Homebrew を使用しています。これをより良く使用するための 3 つのヒ...

MySQL のスローログオンラインの問題と最適化ソリューション

MySQL スロー ログは、MySQL DBA やその他の開発および運用担当者が細心の注意を払う必要...

Dockerコンテナを使用してプロキシ転送とデータバックアップを実装する方法

序文アプリケーションを Docker コンテナとしてサーバーにデプロイする場合、通常はネットワークと...

モバイル端末におけるビューポートの具体的な使用法についての簡単な説明

目次1. 基本概念1.1 2種類のピクセル1.2 3つのビューポート2. ビューポート設定3. 1回...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

docker windows10共有ディレクトリのマウント失敗の解決策

原因docker スクリプトを実行すると、コンテナを作成できないというエラーが発生します。以下のよう...

HTML でフォーム入力やその他のテキスト ボックスを読み取り専用にして編集不可にする方法

場合によっては、フォーム内のテキスト ボックスを読み取り専用にして、ユーザーがその中の情報を変更でき...

Linux システムのシャットダウンコマンドの違いと使い方の詳細な説明

Linux システムのシャットダウン コマンドは何ですか? Liangxu Tutorial Net...