前回の 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 は終わりました。ソフトウェアの次は何でしょう?
EuroCheapo は、ユーザーが安価でお得なホテル、航空券、レンタカーを検索して予約できるヨーロ...
11月6日、テンセントクラウドとエンタープライズWeChatは共同で「中小企業エコシステム協力記者会...
店をオープンした初日から、売り手はダイヤモンドとクラウンセラーの称号を欲しがり始めたようです。しかし...
LFCVPS は LET でプロモーションを開始したばかりで、1G メモリを搭載した XEN がたっ...
最近、国際的に権威のある市場調査機関であるIDCは、最新の「中国パブリッククラウドサービス市場(20...
Hosthatch は今年のブラックフライデーに、大容量ハードドライブストレージを備えた VPS や...
Sonicvpsは2009年に設立されたVPS事業者です。簡単に言うと、中国人が運営しています。以前...
[[437371]] 2020年以降、クラウドコンピューティングがトレンドになりました。ますます多く...
pnzhostは2009年に設立された新しいホスティング会社です。主にVPSと専用サーバー事業を運営...
Zhihuは2016年に全事業のコンテナ化を完了し、自社開発のコンテナプラットフォーム上にネイティブ...
どの業界にも独自の基準があり、フレンドリーリンク業界でも同様です。高品質のフレンドリーリンクは、ウェ...
石玉珠のオークションは3時間で2130万9150元で落札され、優美網は「プラットフォーム運営費」とし...
企業にとってお祭りはいくらあっても足りません。運営スタッフは、お祭りがあるときはイベントを企画し、お...
Cloudive は、2G メモリと 15G SSD を搭載した 7 ドルの VPS を宣伝していま...
SEO担当者がクイックツールと自動ツールのどちらを使うべきかについては、Duoduo Tuyeの要約...