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

推薦する

Ubuntu 18.04 で SSH サービスをインストールして設定する方法

sshツールをインストールする1. ターミナルを開き、次のコマンドを入力します。 apt-getアッ...

Nginx ロードバランシング クラスタの実装

(1)実験環境youxi1 192.168.5.101 ロードバランサーyouxi2 192.168...

デザインリファレンス 美しく独創的なブログデザイン

以下にリストされているすべてのブログはオリジナルであり、独自にデザインされています。これらは、他者が...

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

Tomcatの全体構造の簡単な紹介

Tomcat は Web コンテナとして広く知られています。Java を学び始めたときから現在の仕事...

Vueはシンプルなショッピングカートの例を実装します

この記事では、Vueの具体的なコードを共有して、簡単なショッピングカートを実装します。具体的な内容は...

Vue フロントエンド開発における階層的にネストされたコンポーネント間の通信の詳細な説明

目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...

IE8 互換性について: X-UA-compatible 属性の説明

問題の説明:コードをコピーコードは次のとおりです。 <meta http-equiv=&quo...

Linux で g++ を使用してプログラムをコンパイルする際の -I (大文字の i)、-L (大文字の l)、-l (小文字の l) の機能の詳細な説明

初心者の Linux ユーザーとして、私は単純なgcc/g++操作を何度も使用してきましたが、少し複...

ウェブデザインの発展と西洋建築の類似点は何でしょうか?

歴史は常に驚くほどうまく繰り返される。西洋建築とウェブデザインは、どちらも工学と芸術の組み合わせです...

Ubuntu 18.04 での Pycharm インストール チュートリアルの実装

方法1: Pycharmをダウンロードしてインストールするダウンロードアドレス: https://w...

Linux で固定 IP を設定する方法 (テスト済みで効果的)

まず、仮想マシンを開きます xshell5 を開いて仮想マシンに接続します (より便利です。Linu...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

mysqlはタイムゾーン関連の問題を解決します

序文: MySQL を使用すると、時間の表示が正しくない、タイムゾーンが GMT+8 ゾーンにない、...

Vue elementUI はツリー構造テーブルと遅延読み込みを実装します

目次1. 成果を達成する2. バックエンドの実装2.1 エンティティクラス2.2 データベース内のデ...