前回の 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 は終わりました。ソフトウェアの次は何でしょう?
onetechcloudは、デフォルトの帯域幅が1Gbpsの香港vpsシリーズを追加し、NTT/CM...
2013年、インターネットは誕生して何年も経ちました。2010年にウェブサイトの構築を始めたものの、...
IDC Review Network (idcps.com) は 5 月 13 日に次のように報告し...
外部リンクツールの拒否から外部リンク判定の議論まで、また外部リンク判定の議論からザクロアルゴリズムま...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますDEDE ...
エッジ コンピューティングとは、クラウド コンピューティングの処理とストレージの一部を、データを生成...
Google は、ユーザーが食べ物、映画、宇宙など特定のトピックに関連する写真、記事、その他のコンテ...
[[378938]] 1. はじめに前回の記事では、AuthenticationManager の初...
Weibo マーケティングについて話すとき、ほとんどの企業は Weibo の活動を最もよく知っていま...
オランダはヨーロッパのデータセンターのハブ拠点に相当し、帯域幅が大きく、デジタル著作権に関する独自の...
1. 中国の共同購入は完全に終焉を迎えた:関係者の運命共同購入の発展はサイクルのようなもので、大きな...
道路工事は最も労働集約的で危険な職業の一つです。毎年、交通工事や道路清掃、事故処理などにより交通事故...
私は長年、電子商取引サイトや地域ポータルサイトのオンラインプロモーション業務に携わってきました。その...
簡単に言えば、従来の中小企業がオンラインマーケティングを行う目的は、インターネットを通じて自社の露出...
1. Baidu は 360 Search と Google の協力を乗り越えられるか? Googl...