目次
問題の説明
原因分析
コンテナが開始されていない
ホスト ファイアウォールの制限
ホスト ポートはすでに占有されています
コンテナ内のリスニング IP が間違っています
解決策
コンテナを起動する
ファイアウォール ルールを確認します
ポート マッピングの変更
リスニング IP アドレスを調整する
概要
ホームページ 運用・保守 Docker docker がマップされたポートにアクセスできない場合はどうすればよいですか?

docker がマップされたポートにアクセスできない場合はどうすればよいですか?

Apr 18, 2023 pm 02:10 PM

近年、コンテナ化テクノロジーの人気が高まっています。その中でも、Docker は最も人気のあるコンテナ化ソリューションの 1 つとして、開発環境と本番環境の両方で広く使用されています。ただし、Docker を使用すると、マップされたポートにアクセスできないという問題が発生することがありますので、この記事ではこの問題とその解決策について詳しく説明します。

問題の説明

Docker コンテナを実行する場合、-p または --publish オプションを使用してコンテナ内のポートをマッピングできます。ポート上のホストに送信します。たとえば、次のコマンドを使用して、コンテナ内のポート 8080 をホスト上のポート 8000 にマップできます。

docker run -d -p 8000:8080 myimage
ログイン後にコピー

ただし、場合によっては、マップされたポートにアクセスできないことがわかります。たとえば、上記の例では、http://localhost:8000 を通じてコン​​テナ内のアプリケーションにアクセスできない可能性があります。

原因分析

この問題を解決するには、まず原因を分析する必要があります。この問題には主に次のような理由があります:

コンテナが開始されていない

ポートをマップするとき、実際にはコンテナ内のポートをホストにバインドします。 start ではない場合、ポートをバインドできません。次のコマンドでコンテナのステータスを確認できます:

docker ps -a
ログイン後にコピー

ステータスが Exited の場合、コンテナが実行されていないことを意味します。次のコマンドでコンテナを起動する必要があります。コマンド:

docker start <container_name>
ログイン後にコピー
ログイン後にコピー

ホスト ファイアウォールの制限

ホストのポートを介してアプリケーションにアクセスできない場合があります。これは、ホストのファイアウォールがアクセスを制限していることが原因である可能性があります。この問題は、ファイアウォール ルールをオフにするか変更することで解決できます。

ホスト ポートはすでに占有されています

-p オプションを使用する場合、ホスト ポートがすでに占有されている場合、コンテナのポートをホストにバインドできません。次のコマンドを使用してポートの占有を確認できます。

sudo lsof -i :<port>
ログイン後にコピー

次に、ポートを占有しているプロセスを見つけて、プロセスを閉じるか、そのポートを変更します。

コンテナ内のリスニング IP が間違っています

場合によっては、コンテナ内でアプリケーション監視用の IP アドレスを設定している可能性がありますが、この IP アドレスが正しくないため、アクセスできなくなります。アプリケーション。アプリケーションがすべての IP アドレスをリッスンするか、リッスンする IP アドレスが正しく設定されていることを確認する必要があります。

解決策

上記の問題については、次の解決策があります。

コンテナを起動する

コンテナが起動しない場合は、コンテナを起動する必要があります。次のコマンドでコンテナにアクセスします。

docker start <container_name>
ログイン後にコピー
ログイン後にコピー

ファイアウォール ルールを確認します

次のコマンドでファイアウォール ルールを確認できます:

sudo iptables -L
ログイン後にコピー

ルールによってアクセスが制限されていることがわかった場合場合は、次のコマンドを使用してファイアウォールを無効にできます。

sudo service iptables stop
ログイン後にコピー

または、ファイアウォール ルールを変更して、対応するポートへのアクセスを許可します。

ポート マッピングの変更

ホスト ポートがすでに占有されている場合は、ポート マッピングを変更して、空いているポートを見つける必要があります。

リスニング IP アドレスを調整する

コンテナ内のアプリケーションによって監視されている IP アドレスが間違っている場合は、アプリケーションがすべての IP アドレスを監視するか、リスニング IP アドレスを正しく設定していることを確認する必要があります。たとえば、アプリケーションのリスニング アドレスを 0.0.0.0 に設定すると、すべての IP アドレスを監視できます。

概要

マップされたポートにアクセスできないことは、Docker を使用するときによくある問題ですが、問題の根本原因を見つけて適切な解決策を講じれば、簡単に解決できます。この記事の導入を通じて、読者はそのような問題に対処する方法を学び、Docker を使用する経験とスキルをさらに向上させたと思います。

以上がdocker がマップされたポートにアクセスできない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Mar 17, 2025 pm 04:20 PM

この記事では、プロセス中の準備、展開ステップ、セキュリティ対策をカバーするDocker Swarmへのアプリケーションの展開を詳細に説明します。

Kubernetesのポッド、展開、サービスとは何ですか? Kubernetesのポッド、展開、サービスとは何ですか? Mar 17, 2025 pm 04:25 PM

この記事では、Kubernetesのポッド、展開、およびサービスについて説明し、コンテナ化されたアプリケーションの管理における役割について詳しく説明しています。これらのコンポーネントが、アプリケーション内のスケーラビリティ、安定性、および通信をどのように強化するかについて説明します。(159文字)

Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Mar 17, 2025 pm 04:28 PM

この記事では、手動スケーリング、HPA、VPA、およびCluster Autoscalerを使用してKubernetesのスケーリングアプリケーションについて説明し、スケ​​ーリングを監視および自動化するためのベストプラクティスとツールを提供します。

Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Mar 17, 2025 pm 04:23 PM

この記事では、Docker Swarmにローリングアップデートを実装して、ダウンタイムなしでサービスを更新することについて説明します。サービスの更新、更新パラメーターの設定、監視の進捗状況、スムーズな更新の確保をカバーしています。

Docker Swarmでサービスを管理するにはどうすればよいですか? Docker Swarmでサービスを管理するにはどうすればよいですか? Mar 17, 2025 pm 04:22 PM

記事では、Docker Swarmのサービスの管理、ダウンタイムなしで作成、スケーリング、監視、更新に焦点を当てています。

Kubernetesでの展開を管理するにはどうすればよいですか? Kubernetesでの展開を管理するにはどうすればよいですか? Mar 17, 2025 pm 04:27 PM

この記事では、さまざまなツールとベストプラクティスを使用して、作成、更新、スケーリング、監視、および自動化に焦点を当てたKubernetesの展開の管理について説明します。

Docker Swarmクラスターを作成するにはどうすればよいですか? Docker Swarmクラスターを作成するにはどうすればよいですか? Mar 17, 2025 pm 04:19 PM

記事では、セットアップ、スケーリングサービス、セキュリティベストプラクティスなど、Docker Swarmクラスターの作成と管理について説明します。

Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエース Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエース Apr 06, 2025 am 12:01 AM

Dockerは、DevOpsエンジニアにとって必須のスキルです。 1.Dockerは、アプリケーションとその依存関係をコンテナにパッケージ化することにより、分離と移植性を実現するオープンソースのコンテナ化されたプラットフォームです。 2. Dockerは、名前空間、コントロールグループ、フェデレーションファイルシステムで動作します。 3。基本的な使用には、コンテナの作成、実行、管理が含まれます。 4.高度な使用法には、DockerComposeを使用してマルチコンテナーアプリケーションを管理することが含まれます。 5.一般的なエラーには、コンテナ障害、ポートマッピングの問題、データの持続性の問題が含まれます。デバッグスキルには、ログの表示、コンテナの入り、および詳細情報の表示が含まれます。 6.パフォーマンスの最適化とベストプラクティスには、画像の最適化、リソースの制約、ネットワーク最適化、DockerFileを使用するためのベストプラクティスが含まれます。

See all articles