[51CTO.com クイック翻訳] Docker Compose は、マルチコンテナ Docker アプリケーションを定義および実行するためのツールです。つまり、複数の Docker コンテナの実行を必要とするサービスを定義する必要がある場合は、Docker Compose が適切なツールになる可能性があります。 しかし、Docker Compose はどのように使用すればよいのでしょうか? Docker デーモンをインストールしたら、コンテナ化されたアプリケーションをどのようにデプロイしますか? Docker Compose は docker-compose.yml ファイルに依存しています (このファイルは Dockerfile と連携して動作します)。 基本的な Docker Compose ファイルを自分で構築する方法を理解できるように、できるだけ簡単に説明します。 あなたは何が必要ですか? 必要なのは以下のものだけです:
Docker Compose はどのように機能しますか? 簡単に言うと、Docker Compose は完全なサービスを実行するために一連のアプリケーションを構築します。 docker-compose.yml ファイルは複数のセクションに分かれており、各セクションはコンテナを表し、各コンテナは他のコンテナと組み合わせてサービスを作成します。たとえば、次の 2 つのセクションを含む docker-compose.yml ファイルがあるとします。
各パーツは異なるコンポーネントで構成されています。また、非常に特殊な Web パーツが必要になる場合もあるため、docker-compose に Dockerfile で Web パーツを定義するように指示することができます。実際、docker-compose を使用すると、複数の Dockerfile を組み込んで非常に複雑なスタックを構築できます。しかし、簡単に始められるように、非常にシンプルなスタックを構築します。 そこで、Web 部分と db 部分の両方を含む docker-compose.yml ファイルを作成しましょう。 NGINX と MySQL を使用して、開発目的で使いやすいスタックを作成します。
まず最初に、新しいファイルを作成します。このファイルは、先ほど作成したディレクトリに作成されます。 mkdir ~/docker-build コマンドを実行します。 cd ~/docker-build コマンドを使用して、新しく作成したディレクトリに切り替えます。そのディレクトリに入ったら、次のコマンドで新しい docker-compose.yml ファイルを作成します。
これは YAML ファイルなので、形式が一貫している必要があることに注意してください (そうでない場合、ビルドは失敗します)。 最初に行うことは、ファイルにタイトルを追加することです。ファイルの先頭に次の内容を追加します。
これにより、Docker Compose にツールのバージョン 3 を使用していることが通知されます。次の行では、Docker Compose に、次のサービスがデプロイされることを指示します。これは次のように定義されます:
これまでのファイルは次のとおりです:
最初に定義する部分は、スタックの Web 部分です。これは、2 行の簡単なコードで実行できます。
上記では、公式の Nginx イメージを使用してコンテナをデプロイするように Docker Compose に指示しました。このコンテナに対して特別なことは何もしていません。それは非常に基本的なことです。 次の部分はデータベースを定義することです。この部分は、データベースが適切に実行されるように必要なパラメータを構成する必要があるため、少し複雑です。まずこの部分を定義しましょう:
次に、次のようにして、Docker Compose にこのデータベースの MySQL イメージを使用するように指示します。
ここで、データベースが使用する外部ポートと内部ポートを定義します。この目的のために、デフォルトの MySQL ポートを使用して定義します。
最後にデータベース環境を構成します。環境とは、データベースの構成オプション (パスワード、ユーザー名、データベース名) です。この部分は次のようになります:
で:
上記の各項目は、あなたが定義します。スタックを安全に保つために、一意で強力なパスワードを使用するようにしてください。 ファイルをまとめると次のようになります。
ファイル構造は一貫している必要があるため、インデントには注意してください。 ファイルを保存して閉じます。 Docker Compose を使用したアプリケーションの構築 docker-compose.yml ファイルが準備できたので、アプリケーションをビルドします。これは非常にシンプルなアプリケーションなので、基本的には Web サーバーとデータベースの 2 つのコンテナーをデプロイします。これら 2 つのコンテナーをどのように使用するかはあなた次第です。もちろん、独自のイメージ (シームレスに連携して独自のサービスやアプリケーションを作成するカスタム Nginx イメージや MySQL イメージなど) を開発することもできます。この記事では、デフォルトの画像(デモンストレーション目的)を使用します。 次に、スタックをビルドするには、ターミナル ウィンドウに戻り、ビルド ディレクトリにいることを確認して、次のコマンドを実行します。
上記のコマンドは、Web コンテナと db コンテナをデプロイします。このコマンドを単独で実行すると、コンテナはアタッチ モードでデプロイされ、bash プロンプトに戻りません。デタッチドモードで実行する場合は、次のコマンドを実行します。
実行が完了すると、コンテナ ID がリストされます (図 A)。
コンテナが実行されていることを確認するには、次のコマンドを実行します。
コンテナの名前、コマンド、ステータス、ポートがリスト表示されます (図 B)。
おめでとうございます。Docker Compose を使用して最初のコンテナ「スタック」をデプロイしました。はい、この例は非常に単純ですが、長く充実した旅の始まりとなるはずです。次回は、Dockerfile と連動して実行される、より複雑な docker-compose.yml ファイルを作成します。 原題: Docker Compose ファイルの作成方法、著者: Jack Wallen [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: ベテランプログラマーによる長年のまとめ: Kafka の高スループットの理由を解明
>>: Kubernetes の混乱から熟練へ: クラスター サービスの 3 つの重要なポイントと 1 つの実装
外部リンクの幅は、通常、外部リンク ディメンションと呼ばれます。 SEO 担当者の一般的な考え方によ...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますここ数ヶ月...
SEOの詳細が成功か失敗かを決め、新たな競争力で勝利ウェブサイトのSEO検索エンジン最適化とは、イン...
編集者注: この記事は、著名な外国メディア関係者であり、テクノロジー ブログ pandodaily ...
パート01サーバーレスとはサーバーレスはクラウド コンピューティング アーキテクチャ モデルです。そ...
Baidu が外部リンクを公開して以来、多くのウェブサイトの外部リンクがインデックスされた後に削除さ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスヒント1:Weiboの基...
第19回アジア競技大会は2022年9月10日から25日まで中国杭州で開催される。アジア競技大会会場や...
国家インターネットセンターの支援プロジェクト、政府の特別支援資金、期間限定・数量限定のドメイン名登録...
Kubernetes は、複雑なクラウド インフラストラクチャの作成を自動化し、クラウド展開の管理プ...
cloudcone は 5 月に 4 つの新しい格安 VPS プロモーションを実施します。これは公式...
クラウド コンピューティングと比較すると、エッジ コンピューティングはリアルタイムの短サイクル デー...
翻訳者 |李睿校正:孫淑娟おそらく、ほとんどの IT リーダーは DevOps と DevSecOp...
「仕事をうまくやり遂げたいなら、まずツールを磨かなければなりません。」自動化技術は、INTE.NET...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトの SEO ...