実際の開発環境や本番環境では、コンテナを独立して実行することはあまりなく、複数のコンテナを一緒に実行する必要がある場合がよくあります。このとき、コンテナを起動するためにrunコマンドを使い続けると、非常に不便になります。このような場合は、docker-composeが適しています。docker composeを使用すると、コンテナオーケストレーションを実現できます。この記事では、docker-composeの使い方を見ていきます。この記事では、jpress のようなオープンソース Web サイトの展開を例に、docker-compose の使用方法を読者に紹介します。 jpress は WordPress の Java バージョンですが、jpress の実装に注意を払う必要はありません。ここでは、プロジェクトの展開を完了するために、通常のアプリケーションとして扱う必要があります。 準備 ここでは合計 2 つのコンテナーが必要です。
次に、jpressのwarパッケージが必要です。warパッケージのアドレス: jpress もちろん、ここでは jpress は必要ありません。読者は自分の状況に応じて、他の Java プロジェクトを選択したり、簡単な Java プロジェクト デプロイメントを記述したりすることもできます。 Dockerfileの作成 Tomcat コンテナでは、関連する war ファイルをダウンロードする必要があるため、これを行うための Dockerfile を作成します。空のフォルダーに次の内容の Dockerfile を作成します。
説明する:
docker-compose.ymlを書く 同じディレクトリに、次の内容の docker-compose.yml を記述します (yml の基礎知識はここでは紹介しません。読者は自分で調べることができます)。
説明する:
上記の手順を実行すると、docker-compose.ymlが正常に構成されます。 走る 実行方法はいくつかありますが、究極のコマンドは up です。up コマンドは非常に強力です。イメージの構築、サービスの (再) 作成、サービスの開始、サービス関連のコンテナの関連付けなど、一連の操作を自動的に完了しようとします。ほとんどのアプリケーションはこのコマンドを通じて直接起動できます。デフォルトでは、docker-compose up によって起動されたすべてのコンテナはフォアグラウンドにあり、コンソールにはすべてのコンテナの出力情報が同時に表示されるため、デバッグに非常に便利です。Ctrl-C でコマンドを停止すると、すべてのコンテナが停止します。docker-compose up -d コマンドを使用すると、すべてのコンテナが起動され、バックグラウンドで実行されます。このオプションは通常、実稼働環境に推奨されます。したがって、docker-compose.yml が配置されているディレクトリに移動し、次のコマンドを実行します。 docker-compose を起動 -d 実行結果は次のとおりです。 実行後、docker-compose ps コマンドを通じてコンテナが起動したことを確認できます。 初期設定 次に、ブラウザに http://localhost:8080/jpress と入力すると、次のように jpress 構成ページが表示されます。 ガイド ページに従って、データベース接続情報と基本的な Web サイト情報を設定します。 注意: MySQL と Web は両方ともコンテナ内で実行されているため、データベース アドレスを構成するときにループバック アドレスを書き込むことはできません。そうしないと、データベースは Web が配置されているコンテナ内で見つかります。 設定が完了したら、次のコマンドを実行して Web コンテナを再起動します。 docker 再起動 jpress テスト 以下のように、ブラウザでブログのホームページとバックエンド管理ページを表示します。 他の コンテナを停止する場合は、次のコマンドを実行します。 docker-compose ダウン 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL の自動増分主キーが使い果たされた場合の対処方法
最近 Linux を研究していて、いくつかの Linux ディストリビューションを試してみましたが、...
実際の開発環境や本番環境では、コンテナを独立して実行することはあまりなく、複数のコンテナを一緒に実行...
MySQLはユーザーを作成し、ユーザーの権限を承認および取り消します動作環境: MySQL 5.0...
Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決しますコード例: var...
Docker を実行するには root 権限が必要です。非 root ユーザーに docker コマ...
W3C は HTML の標準をいくつか確立していますが、ブラウザは独自の定義済みスタイルに従って W...
この記事では、SMS送信のカウントダウンを実装するためのJavaScriptの具体的なコードを参考ま...
1. ノードサーバーのセットアップ + データベース接続ここでの操作は比較的簡単でわかりやすいです。...
目次1. CDNの紹介1.1 react (最初にインポート) 1.2 react-dom(後ほど紹...
Win10 で csv をエクスポートする方法は 2 つあります。1 つ目はツールを使用することです...
wxsとは何ですか? wxs (WeiXin Script) は、小規模プログラム用のスクリプト言語...
序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...
この記事では、ビュー、トランザクション、インデックス、自己接続、ユーザー管理など、MySQL データ...
目次Dockerとは展開する1. イメージをプルする2. 画像を表示する3. コンテナを実行する4....
私のマシン環境: Windows 2008 R2 MySQL 5.6 Baidu で「Windows...