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のよくある間違い

推薦する

Hタグはウェブページ制作において適切に使用すべきである

HTML タグには、ページのタイトルを処理するための特別なタグがあります。これらは h1、h2、h3...

nginx を介してローカルでリバースプロキシを構成するプロセス全体

序文Nginx は、イベント駆動型の非同期非ブロッキング処理フレームワークを使用する軽量 HTTP ...

VMware Workstationはデバイス/資格情報ガードと互換性がありません

仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...

圧縮パッケージを使用して Linux 環境に JDK 13 をインストールする方法

JDK とは何ですか?まあ、この質問がわからないのであれば、なぜこれをインストールするのか本当にわか...

カルーセル例の JS 実装

この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...

MySQLデータベースの操作とメンテナンスのデータ復旧方法

これまでの 3 つの記事では、論理バックアップと物理バックアップを含む、MySQL データベースの一...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

Win10 での MySQL 8.0.15 のインストールと設定のチュートリアル

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

Tomcat の一般的な例外と解決コードの例

弊社のプロジェクトは Java で開発され、ミドルウェアは Tomcat でした。運用中に、Tomc...

jQueryフレームワークは、要素の表示と非表示の3つのアニメーションメソッドを実装しています。

目次1. デフォルトで表示と非表示を切り替える2. スライドして表示と非表示を切り替える3. フェー...

面接の質問: 3 行 3 列のレイアウト、表は結合され、ネストされた表は許可されません

面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...

HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。

サブフォルダーの末尾にスラッシュがない場合、2 つの HTTP リクエストが生成され、効率に影響しま...

ウェブテーブルフレームを作成するためのヒント

<br />Web テーブル フレームを作成するためのヒント。 ------------...

docker pull imageエラーの問題を解決する

説明する: Windows 10 に VM をインストールし、VM で Docker を実行し、Do...

React は antd のアップロード コンポーネントを使用してファイル フォーム送信機能を実装します (完全なコード)

私はプロジェクトを実行するために react を使い始めたばかりで、非常に未熟で完全な初心者です。私...