Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策

Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策

Windows 10 で Docker コンテナのポートにアクセスできない問題を解決する (ポート マッピングの問題)

Windows 10 サーバーに docker と docker-compose をインストールしました

そして、その中でNginxサービスを実行してみると、マッピングも完了します

問題: ホストのブラウザで localhost:port を開いても、対応する Web サービスにアクセスできません。

問題分析

理由: Docker は Linux 上で実行されます。Windows で Docker を実行するには、まず Windows に Linux 環境をインストールし、このシステムで Docker を実行する必要があります。

つまり、サービスで使用される localhost は、ホスト環境である Windows 10 ではなく、この Linux 環境のアドレスを参照します。

解決

Dockerコマンドラインウィンドウを起動する

コマンドを入力してください

docker-machine ip デフォルト

Linux IPアドレス、通常このアドレスは192.168.99.100です

次に、Windows ブラウザで http://IP:port と入力して有効にします (http://192.168.99.100:8069)

補足知識: Nacos 1.2.1 Nacos ローカルデプロイメントサービス、デフォルトポートの変更は無効、Docker デプロイメントではこの問題は発生しません

1. シナリオの説明

通常のプロジェクト開発プロセス、特に実稼働環境の展開では、機密ポートの使用を避けるようにします。このテストでは、Nacos-server-1.2.1 startup.bat で起動したサーバーのデフォルトポート 8848 が 8858 に変更され、Nacos に正常にアクセスしてログインできるようになりました。

しかし、プロジェクトを開始すると、8848 をプルするリソース サービスがまだ取得されます。現在、この問題は nacos-server-1.2.1 と nacos-server-1.3.2 に存在します。テストの結果、Docker 経由でデプロイされた Nacos サービスでは、デフォルトのポートを変更してもこの問題は発生しません。

2. 設定手順

nacos-server-1.2.1 フォルダの conf の下にある application.properties のポート構成を 8858 に変更します。

startup.cmdでnacos-server-1.2.1を起動します。

Nacosサービスが正常にアクセス可能かどうかを確認します

プロジェクト内のアクセス検出および構成センターのアドレスとポートを変更します

プロジェクトを開始する

3. 解決策

問題が発生した場合は、進捗状況を随時確認することができます

Dockerを使用してNacosサーバーをデプロイする

デフォルトのポートを使用し、ポートを変更しないでください

上記の記事は、Windows 10 で Docker コンテナのポートにアクセスできない問題を完全に解決します。これは、編集者があなたと共有するすべてのコンテンツです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • 複数の Docker コンテナが同じポート番号を持たない場合の解決策
  • 実行中のDockerコンテナのポートマッピングを変更する方法
  • Docker でコンテナのポート マッピングを動的に変更する方法
  • Dockerはポートを介してコンテナに接続します
  • Dockerはコンテナにポートを動的に公開します
  • Dockerコンテナがホストポートにアクセスできない場合の解決策
  • Dockerはコンテナポートバインディングのローカルポートを実装します

<<:  自己終了XHTMLタグを書くときに注意すべきこと

>>:  MySQLのよくある間違い

推薦する

ES6 配列のコピーおよびフィルメソッド copyWithin() および fill() の具体的な使用法

目次バッチコピー copyWithin()配列を埋めるメソッド fill()指数の計算方法については...

MySQL で期限切れのデータレコードを定期的に削除する簡単な方法

1. MySQL に接続してログインしたら、まず MySQL でイベント機能が有効になっているかどう...

MySQL での正規表現の使用に関する詳細

目次1. はじめに2. 製品テーブルを準備する2.1 ステートメントの順序2.2 大文字と小文字の区...

MySQL で最大接続数を正しく変更する 3 つの方法

MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...

MySql インポート CSV ファイルまたはタブ区切りファイル

別のライブラリから別のライブラリにデータをインポートする必要がある場合があり、このデータは CSV ...

Windows および Linux で tomcat9 を介して war パッケージを手動で展開する方法

Windows 環境と Linux 環境では結果が異なります。ウィンドウズステップ 1: Maven...

WeChatアプレット開発の実践スキル:データの転送と保存

日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...

dockerネットワーク双方向接続の詳細な説明

Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...

一般的な Linux の問題に対する解決策の概要

1. VMwareでCentos7を接続し、固定IPを設定する1) まず、仮想イメージ名を右クリック...

Linuxでkv設定ファイルを変更するにはsedコマンドを使用します

sed は Unix の文字ストリーム エディタ、つまりストリーム エディタです。行指向であり、行単...

Linuxコマンドをバックグラウンドで実行する方法

通常、ターミナルでコマンドを実行する場合、別のコマンドの入力を開始する前に、現在のコマンドが終了する...

Web2.0製品と機能の簡単な紹介

<br />Web2.0とは何ですか? Web2.0にはソーシャルネットワーク製品とその...

MySQL のロードバランサーとして nginx を使用する方法

注意: nginxのバージョンは1.9以上である必要があります。nginxをコンパイルするときに、-...

CentOS8.0ネットワーク設定の実装

1. CentOS 7 と CentOS 8 のネットワーク構成の違い: VMware Workst...

JavaScript でシンプルなタイマーを実装する

この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...