Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

WBOY
リリース: 2023-05-17 15:31:40
転載
1090 人が閲覧しました

Nginx のデータ量

nginx にはフォワードプロキシ、リバースプロキシ、ロードバランシング、透過プロキシなど多くの機能がありますが、一般的にはリバースプロキシがよく使われます。負荷分散。これらの操作を完了するには、構成ファイルをローカルで同期するだけで済みます。 nginx 構成ファイルを作成するには、まず /etc/nginx/ ディレクトリに nginx.conf という名前の新しいファイルを作成する必要があります。

Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

nginx1 ディレクトリにも nginx.conf が必要です。 、コンテンツを空のままにしておきます。次に、イメージが正常かどうかを確認します。

Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

#イメージをまだダウンロードしていない場合は、次のコマンドを使用してイメージをプルします (デフォルトは最新バージョンです)。 ##

docker pull nginx
ログイン後にコピー

次にコンテナを実行します:

docker run -itd -p 80:80 --name nginx001 -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf nginx
ログイン後にコピー

説明:

  • -itd: 対話モードをオンにし、ターミナルをシミュレートし、バックグラウンドで実行します

  • ##-p 80:80: 対応するポートはホスト マシンにマッピングされます
  • --name nginx001: カスタム コンテナー名
  • -v /docker/nginx1/ nginx.conf:/etc/nginx/nginx.conf: ホストの対応するファイルを nginx 構成ファイルにマップします
  • ##nginx:実行中のイメージ名
Run 上記のコマンドの後、コンテナーが正常に作成されたことを示すランダムな文字列が返されます:

実行中のコンテナーを確認します。 Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

nginx001 が表示されない場合は、実行中にエラーが発生した可能性があります。エラー メッセージを見てみましょう: Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

これはおそらく、イベント ノードが構成ファイル内に見つからなかったことを意味します。作成したファイルの中身は空なので、コンテナを起動すると該当ディレクトリのnginx.confがnginx001のnginx.confに直接マッピングされることになりますが、当然ながら空の設定のnginxは実行できません。 Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

今、vi は nginx.conf をローカルに作成し、構成を開始します。

単純な .net core プログラムを docker にデプロイする前に、ローカル ポート 1500 を占有して、今、私は指定されたドメイン名のプログラムにnginxリバースプロキシを使用し、ポート80経由でアクセスします。構成ファイルが書き込まれた後、コンテナー nginx001 を再起動します: Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

#これで、nginx001 は正常に開始されました。指定したドメイン名にアクセスしてみましょう:

Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

#nginx 設定が有効になりました。

最後に、docker を再起動すると構成が初期化されるかどうかを確認してみましょう。docker を再起動します: Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

2 つのコンテナを起動します:

Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

訪問ページ:

Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

Docker の再起動後にデータベースが初期化されていないため、データ ボリュームは正常に適用されました。将来的には、Docker のクラッシュやデータ損失を恐れることはなくなります。

補足Docker を使用してボリュームをマウントし、Nginx をデプロイする方法

nginx 構成ファイルの proxy_pass 属性は、非 docker 環境で構成されている場合、localhost または 127.0.0.1 が通常どおり有効になりますが、docker では nginx コンテナーは次のように構成されます。 localhost または 127.0。0.1 には、実際のリバース プロキシの完了を妨げる小さな穴がありました。コンテナーの実行中、docker はコンテナーに別の IP とポートを割り当て、docker が占有する IP をコンテナーの IP にマッピングするためです (たとえば、docker で mysql が開始された後、localhost を使用してクライアントにログインできます) )。ただし、nginx が起動すると、最初に構成ファイルが読み取られ、構成が正しい場合にのみ実行されるため、コンテナーが正常に実行された後、docker はローカル IP をコンテナーにマッピングします。コンテナのIPを使用して直接アクセスする場合のみ、設定ファイルにlocalhostまたは127.0.0.1が記述されている場合、リバースプロキシがトリガーされます。サーバー上で Docker を使用して Nginx を構成する場合、サーバーの IP アドレスを入力するだけで構成を完了できます。

以上がDocker を使用してボリュームをマウントし、Nginx をデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!