前回の 2 つの記事では、Dockerfile の使用方法を紹介しました。 Dockerfile テンプレート ファイルを使用して単一のアプリケーション コンテナーを定義できることはわかっています。複数のコンテナを定義する必要がある場合は、サービス オーケストレーションが必要です。サービス オーケストレーションには多くの技術的ソリューションが存在します。今日は Docker の公式製品である Docker Compose を紹介します。 Dockerfile を使用すると、ユーザーは単一のアプリケーション コンテナーを管理できます。 Compose を使用すると、Web サービス コンテナーとバックエンド データベース サービス コンテナーなど、関連するアプリケーション コンテナーのグループ (プロジェクトと呼ばれる) をテンプレート (YAML 形式) で定義できます。
Docker Compose の紹介 Docker-Compose は Docker 用のオーケストレーション サービスです。これは、Docker 上で複雑なアプリケーションを定義および実行するためのツールであり、ユーザーはクラスターに分散アプリケーションをデプロイできます。 Docker-Compose を使用すると、ユーザーは構成ファイルを使用してマルチコンテナ アプリケーションを簡単に定義し、1 つの命令を使用してアプリケーションのすべての依存関係をインストールしてビルドを完了できます。 Docker-Compose は、コンテナ間のオーケストレーションを管理する方法の問題を解決します。 Docker Compose の動作原理図 Compose には 2 つの重要な概念があります。
プロジェクトは複数のサービス (コンテナ) で構成できます。 Compose はプロジェクトを管理し、サブコマンドを使用してプロジェクト内のコンテナ グループのライフサイクルを便利に管理します。 Compose プロジェクトは Python で記述されており、コンテナを管理するために Docker サービスによって提供される API を呼び出します。したがって、オペレーティング プラットフォームが Docker API をサポートしている限り、Compose をオーケストレーション管理に使用できます。 Docker Compose のインストール Docker Compose は Docker の独立した製品であるため、Docker をインストールしてから Docker Compose を別途インストールする必要があります。 方法1:
方法2:
インストールには方法 1 を使用することをお勧めします。インストールが成功したら、次のように docker-compose version と入力して、docker-compose のバージョン情報を返します。
上記の情報が表示され、docker-composeが正常にインストールされたことが示されます。 補完ツールをインストールする(オプション) コマンド入力を容易にするために、コマンドを素早く入力できる Docker の補完ツールをインストールすることもできます。
すぐに始めましょう 小さな例を使って練習するよりも良い学習方法はありません。公式サイトの簡単な例を使って、docker compose の使い方を見てみましょう。 Python を使用して Web サービスを開始し、hello() メソッドを出力し、Redis キャッシュ内の各訪問をカウントし、統計結果をページに出力するシナリオを設計します。 ステップ1: Pythonサービスを作成する プロジェクト パスの作成:
ディレクトリにapp.pyファイルを作成する
この例では、redis はコンテナ ネットワークのデフォルト ポート 6379 を使用します。この Python プログラムの内容は、Redis に接続して起動後に hello() メソッドを出力し、その都度訪問回数を累積して結果をページに戻すというものです。 同じディレクトリに requirements.txt ファイルを作成し、プロジェクトが依存する Python パッケージを追加します。
Flask は Python のマイクロ Web 開発フレームワークです。 ステップ2: Dockerfileを作成する Python の依存パッケージと Python 環境を含む Docker イメージを定義する Dockerfile を作成しましょう。 このディレクトリに、Dockerfile ファイルも作成します。
このコードの意味は次のとおりです。
ステップ3: Composeファイルを使用してサービスを定義する 現在のディレクトリに、次の内容の docker-compose.yml ファイルを作成します。
この Compose ファイルは、Python Web サービスと Redis サービスの 2 つのサービスを定義します。
ステップ4: Composeを使用してアプリケーションをコンパイルして起動する コマンドdocker-compose upで開始します。
起動が成功したら、ブラウザで http://ipaddress:5000/ にアクセスすると、次の結果が返されます。
リフレッシュして再度アクセスしてください
更新を続けると、その数は増え続けます。 Docker Compose の共通コマンド docker-compose up -dを使用してバックグラウンドでサービスを開始します。
開始されたサービスを表示するには、docker-compose psコマンドを使用します。
docker-compose stop を使用してサービスを停止します。
その他の一般的なコマンド
|
<<: Feiyuxing分散型インテリジェントネットワークソリューションが発売され、メッシュ技術が企業に導入される
>>: SaaS は終わりました。ソフトウェアの次は何でしょう?
1. 勇敢に前進する――市場で足場を築く方法市場は企業が足がかりを築き、奮闘する戦場です。中小企業が...
BigRock は、優れた資格を持つ ICANN 認定のドメイン名登録機関です。Directi (h...
[[237051]]エンタープライズ データのバックアップ、リカバリ、アーカイブ、クラウド サービス...
実践:QQ日記プロモーションオンラインマーケティングの発展に伴い、オンラインプロモーションの方法はま...
2000年から、このブログは米国のVPSで運営されています。当時、東京は暑くなかったので、環境はより...
[[353361]] [51CTO.com クイック翻訳] 過去 10 年間で、クラウド コンピュー...
現在から4月30日まで、ufovpsはサイト全体の特別プロモーションを開催しています。すべてのVPS...
ここにいる皆さんは、この活動が 2 年前に始まり、それがキックオフ活動であることをご存知でしょう。私...
外部リンクの構築に関しては、A5には外部リンクを構築するための何百もの方法があります。ただし、すべて...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン例えば、上記は、編集者 Jiuwen.c...
WeTest の紹介 QQ、WeChat、Taobao など、特定のインターネット アプリケーション...
2020年2月、JDアリアンツ保険は、保険契約者である孫さん(仮名)から報告を受け、彼女が残念ながら...
今日、多くの人が「Fengqun Media 交通詐欺」事件について議論しているのを見ました。広告主...
オンライン マーケティング モデルの人気が高まり、オンライン プロモーションには従来のマーケティング...
xovv は最近、日本の通信データセンターを追加し、そのために品川区東品川 2-1-7 データセンタ...