web-dev-qa-db-ja.com

Dockerを使用してNginxサーバーからHTMLファイルを提供する方法

問題

DockerでNginxコンテナを実行しています。ポート http:// localhost:8 をリッスンするように構成されています。ブラウザにURLを入力すると、次のようになります...

nginxへようこそ!

このページが表示されれば、nginx Webサーバーは正常にインストールされ、機能しています。さらに設定が必要です。

オンラインドキュメントとサポートについては、nginx.orgを参照してください。 nginx.comで商用サポートを利用できます。

Nginxをご利用いただきありがとうございます。

問題の続き

Nginxが私の公開ディレクトリからhtmlファイルを提供できるようにしたい。プロジェクトの画像を見てください...

プロジェクト画像:

プロジェクトディレクトリ

Nginxコンテナ実行中

私がやったこと

  1. パブリックディレクトリから次のdockerコマンドを実行しました...

    • $ docker run -d --name chat-web -v $ PWD:/ var/www -p 80:80 nginx
  2. / usr/local/bin、/ usr/private/varからnginxサーバーの場所を検索して、次の投稿 NGinx Default public www location? の説明に従ってnginx.confを変更できるようにします。 nginxサーバーの場所が見つかりませんでした。

私の質問に答えてくれてありがとう。本当にありがとうございます.

11
Uchenna

公式NGINX Dockerイメージ では、静的アセットが提供されるデフォルトのディレクトリは/usr/share/nginx/htmlではなく/var/wwwです。

そうは言っても、フォルダーのコンテンツが存在する/public/フォルダーではなく、ルートディレクトリ全体もマッピングしています。もちろん、これをビルド前のイメージのそのディレクトリから実行している場合を除きます。

あなたはおそらく次のようなものが必要でしょう:

➜  docker run -p 80:80 -v $(pwd):/usr/share/nginx/html nginx
16
TJ Biddle

私も同じエラーが出ました。私はawsクラウドでやっていました。ポート、サーバーを追加しましたが、機能しませんでした。そのため、nginxを別のインスタンスにインストールし、デフォルトのnginx.confファイルをコピーして、nginxコンテナボリュームファイルに貼り付けました。コンテナーを停止し、再度開始します。それを試してみてください。実行する必要があります。

Public ip addrで試してください。

ボリュームは/var/lib/docker/volumes//_data/nginx.confで利用可能になります

0
user9885285