実行後に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環境にJDK1.8をインストールする

目次1. インストール環境2. インストール手順ステップ1: インストールパッケージをダウンロードす...

docker compose を使用してハーバープライベートウェアハウスをインストールする詳細なチュートリアル

概要港とは何ですか?英語の単語の意味は「港」です。 Harborはコンテナ(貨物)を保管するために使...

Docker デプロイメント Springboot プロジェクト例の分析

この記事は主に、docker デプロイメント springboot プロジェクトのサンプル分析を紹介...

CSS グリッドレイアウトの完全ガイド

Grid は 2 次元のグリッド レイアウト システムです。これを使用すると、本質的にはハック メソ...

Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

問題の説明:最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必...

Linux ネットワークプログラミング機能の簡単な分析

目次1.ソケットを作成する2. ソケットをバインドする3. 聞き手を作る。聞く4. 接続が受け入れら...

MySQL実行計画の詳細な説明

EXPLAIN ステートメントは、MySQL がステートメントを実行する方法に関する情報を提供します...

MySQLユーザー削除バグを解決する

著者が MySQL を使用してユーザーを追加していたところ、ユーザー名が間違って記述されていることに...

Mysql で group_concat の長さ制限を変更する方法

MySQL には、「group_concat」という関数があります。通常の使用では問題がないかもしれ...

Nginx リバースプロキシの例の詳細な説明

1. リバースプロキシの例1 1. 効果を達成する(1)ブラウザを開き、www.123.comと入力...

node.jsのインストールとHbuilderXの設定の詳細な説明

npm インストールチュートリアル: 1. Node.jsインストールパッケージをダウンロードする公...

Linux クラウド サーバー上に SFTP サーバーとイメージ サーバーを構築する方法

まず、SFTP プロトコルと FTP プロトコルの違いを理解してください。ここでは詳細には触れません...

MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

遅いクエリをチェックすると、時間が正しくなく、システム時間とちょうど 8 時間異なっていることがわか...

Windows10 での MySQL msi インストール チュートリアル (画像とテキスト付き)

1. ダウンロード1. MySQL msi 公式 Web サイトから最新のダウンロードをクリックす...

インライン要素とブロック要素とは何ですか?

1. インライン要素はコンテンツの幅のみを占めますが、ブロック要素はコンテンツの量に関係なく行全体を...