実行後にdocker nginxにアクセスできない問題の解決策

実行後にdocker nginxにアクセスできない問題の解決策

## 1

最近、docker デプロイメントを学習しており、当初は nginx を docker 化することを計画していました。

カスタム構成については公式のDockerイメージの説明を参照してください。

公式のnginx.confをコピーした後、default.confとincludeフォルダsites-availableをブロックするなど、いくつかのカスタマイズを変更して追加しました。

# /etc/nginx/conf.d/.conf を含めます。
/etc/nginx/sites-available/ を含めます。

公式オリジナル構成

ユーザー nginx;
ワーカープロセス 1;

error_log /var/log/nginx/error.log 警告;
pid /var/run/nginx.pid;


イベント {
  ワーカー接続 1024;
}


http {
  /etc/nginx/mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /var/log/nginx/access.log メイン;

  ファイル送信オン;
  #tcp_nopush オン;

  キープアライブタイムアウト65;

  #gzip オン;

  /etc/nginx/conf.d/*.conf を含めます。
}

新しい docker-compose.yml ファイルを作成し、イメージ、名前、ポートを指定して、デフォルトではなくローカル ファイルをマウントします。

バージョン: '3'
サービス:
 nginx プロキシ:
  画像: nginx
  コンテナ名: nginx
  ポート:
   -8081:80
  ボリューム:
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro

## 2

docker-compose up を実行した後、nginx への接続で停止し続け、ブラウザがポート アドレスにアクセスできない

nginx を起動しています...完了
nginxへの接続

どこに問題があるのか​​分かりません。情報を検索したところ、デバッグには tty パラメータを使用できることがわかりました。

docker-compose.yml を変更し、設定 tty:true を追加します。

docker exec -it nginx /bin/bash

デフォルトの default.conf を削除し、他の構成ファイルを追加しなかった後、以前の sites-available フォルダーが空になっていることがわかりました。

## 3

私は自分自身を掘り起こし、追加しました

-./nginx/sites-available:/etc/nginx/sites-available:ro

そして、sites-available に設定ファイルを追加します。

/etc/nginx/sites-available# ls
デフォルト.conf

実行後、ポートアドレスへのアクセスがようやく正常になりました

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker でリモートの安全なアクセスを有効にする方法の詳細なグラフィック チュートリアル
  • DockerにTomcatコンテナを追加したときにホームページにアクセスできない問題の解決方法
  • 独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法
  • Centos Docker ブリッジ モードでホスト Redis サービスにアクセスできないというトラブルシューティングの経験
  • Dockerを使用して外部からアクセス可能なMySQLを構築する詳細な説明
  • dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明
  • Dockerでローカルマシン(ホストマシン)にアクセスする方法
  • Dockerコンテナを使用してホストネットワークにアクセスする方法
  • Dockerコンテナ内の独立IPにアクセスする方法
  • Dockerコンテナ間で通信する3つの方法

<<:  Node.jsで子プロセスを作成する方法

>>:  Linux プラットフォームの MySQL でリモート ログインを有効にする

推薦する

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

Ubuntu での MySQL および MySQL Workbench のインストール チュートリアル

Ubuntu に jdk をインストールする: [リンク] UbuntuにEclipseをインストー...

Vueでaxiosをカプセル化するいくつかの方法

目次ベーシックエディションステップ1: Axiosを構成するステップ2: リクエストをカプセル化する...

Vue は URL に基づいて非同一オリジンのファイルをどのようにダウンロードするのか

一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...

Prometheusコンテナのデプロイメントのための実用的なソリューション

環境ホスト名IPアドレス仕えるプロメテウス192.168.237.137プロメテウス、グラファナノー...

HTML における画像タグの使用方法の詳細な説明

HTML では、<img> タグはテキスト内の画像タグを定義するために使用されます。その...

CSSはフロートをシミュレートして、画像の左右を囲む中央テキストの効果を実現します。

画像の周囲にテキストを折り返すとは何ですか?これは次の図の効果です。 エフェクトのCSSコードはここ...

Maxwell を使用して MySQL データをリアルタイムで同期する方法

目次マクスウェルについてMaxwellの設定と使用1. Maxwellインストールパッケージをダウン...

フレックスレイアウトによるシームレスなスクロールのサンプルコード

この記事では、シームレスなスクロールを実現するためのフレックスレイアウトのサンプルコードを主に紹介し...

Mysql データベースの高度なビュー、トランザクション、インデックス、自己接続、ユーザー管理の例の分析の使用

この記事では、ビュー、トランザクション、インデックス、自己接続、ユーザー管理など、MySQL データ...

Centos8 でローカル Web サーバーを構築するための実装手順

1 概要システム Centos8 では、httpd を使用してローカル Web サーバーを構築します...

Vue+SpringBoot のフロントエンドとバックエンドの分離におけるクロスドメインの問題

フロントエンドとバックエンドを分離した開発では、フロントエンドがバックエンドの API を呼び出して...

Avue でカスタム検索バーを実装し、検索イベントをクリアする実践

目次1. 検索バーの内容をカスタマイズする2. 検索ボタンをカスタマイズする検索バーをカスタマイズし...

MySQL がデータの削除と挿入に非常に時間がかかる問題の解決策

会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかり...

MySQL は、現在のデータ テーブル内のすべての時間に対して指定された時間間隔を増加または減少させます (推奨)

DATE_ADD() 関数は、指定された時間間隔を日付に追加します。現在のテーブル内のすべてのデー...