実行後に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 でリモート ログインを有効にする

推薦する

Linux CRM デプロイメント コードの詳細な説明

Linuxの基本設定 Linux環境でpython3をコンパイルしてインストールする 1. Linu...

Vue+Element UIはドロップダウンメニューのカプセル化を実現します

この記事の例では、ドロップダウンメニューのカプセル化を実装するためのVue + Element UI...

JavaScript 定期検証パスワード強度実装方法

展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...

MySQL 1130例外、リモートログインできない解決策

目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...

MySQL の char、varchar、text フィールド タイプの違い

MySQL では、char、varchar、text の各タイプのフィールドはすべて文字タイプのデー...

html-webpack-plugin の使用方法の詳細な説明

最近、React プロジェクトで初めてhtml-webapck-pluginプラグインを使用しました...

シンプルなフロントエンドのページング効果を実現する js

比較的シンプルな業務のプロジェクトもありますが、フロントエンドのページングを多用します。プラグインの...

CSS BEM 命名標準の概要 (推奨)

1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

Windows 環境での MySQL 8.0 のインストール、設定、アンインストール

ソフトウェアバージョンウィンドウズ: ウィンドウズ10 MySQL: mysql-8.0.17-wi...

MySQL 5.7.33 インストール プロセスの詳細な図解

目次インストールパッケージのダウンロードインストール環境変数の設定インストールが成功したか確認する記...

Reactは動的ポップアップウィンドウコンポーネントを実装します

UI コンポーネントを作成するときに、アニメーションを考慮しなければ、アニメーションを実現するのは非...

Dapr を使用してマイクロサービスをゼロから簡素化する例

目次序文1. Dockerをインストールする2. Dapr CLIをインストールする3. Net6 ...

Linux での mysql-5.7.28 インストール チュートリアル

1. 公式ウェブサイトから Linux バージョンをダウンロードします: https://dev.m...