前回の 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 は終わりました。ソフトウェアの次は何でしょう?
パンデミックによって私たちの働き方、時間、場所が再定義された 2020 年初頭には、ハイブリッド ク...
2006年に設立されたHostodoは本日、米国西海岸のワシントン州でシアトルに次ぐ第2の都市、スポ...
検索エンジンは今やより人間化される傾向にあり、例えば、Baidu は現在、ユーザーのブラウザ内の C...
[[393097]]組織の開発チームが重要なアプリケーションを SaaS サービスとしてクラウドに移...
なぜ今日は「QQ(テンセント)Weiboを使ってBaiduランキングを行う方法」というタイトルの記事...
第1回から第2回まで、「SEO実践:外部リンクを増やす方法と外部リンクを増やす際の注意点」「SEO実...
キーワードの選択は通常、SEO 作業の最初のステップです。適切なキーワードを選択することも、SEO ...
この世に愛とは何でしょう?それは、生死を問わず人々を結びつけるものです!すべては「愛」という言葉から...
フォーラムやブログがプロモーション手段としてあまり効果的でない時代に、ソフトな記事に注目するウェブマ...
zgovps (zgocloud) のドイツ VPS は現在在庫があり、販売中です。デフォルトは、C...
B2B 業界のウェブサイト電話営業担当者は、一定の専門知識と営業スキルを備えているだけでなく、電話営...
最近、A5のウェブサイトでタレントステーションに焦点を当てた記事をたくさん見ていて、とても嬉しいです...
私は純粋な H5 アプリをいくつか作成しました。これらは開発が高速で快適ですが、ネイティブ アプリと...
今月(4月)、racknerd は米国西海岸のサンノゼ データ センター専用の特別プロモーションを開...
最新ニュース: BandwagonHost の日本 VPS がオンラインになりました。日本のソフトラ...