ホームページ 運用・保守 Docker docker は正常に作成されたが接続できない場合はどうすればよいですか?

docker は正常に作成されたが接続できない場合はどうすればよいですか?

Apr 18, 2023 am 09:05 AM

前に書いた内容:
この記事は主にdockerの作成は成功したものの接続できない場合の原因と解決策について述べた、docker初心者向けの実践的な記事です。記事内の操作と解決策は、Ubuntu システム環境に基づいています。

docker を使用するプロセスでは、コンテナーが正常に作成されても、接続できない状況が発生することがあります。このような状況では、人々は多くの場合、問題を見つけることができずに非常に悩みます。この記事では、docker の作成は成功したが接続できない原因と解決策を実際の事例を用いて解説します。

ケースの説明:

Docker を使用してローカル コンピューター上に nginx コンテナーを作成しましたが、アクセスすると正常に接続できませんでした。
手順は次のとおりです:

  1. Ubuntu システムに docker をインストールします

コマンド ラインに次の手順を入力します:

sudo apt -get install docker.io

インストールが完了したら、次のコマンドを使用して docker を起動します:

sudo systemctl start docker

  1. Docker 上に nginx コンテナを作成します
#コマンド ラインに次のコマンドを入力します:

sudo docker run --name mynginx -p 80:80 -d nginx

このコマンドの意味は次のとおりです。新しいコンテナーを作成するための nginx イメージ、container 名前は mynginx で、ポート 80 をローカル ポート 80 にマップし、バックグラウンドで実行されます。

    コンテナが正常に作成されたかどうかを確認します
コマンド ラインに次の手順を入力します:

sudo docker ps

If次の内容が表示されます。コンテナが正常に作成されたことを示します:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

aaed7c1b cccf nginx "/docker-entrypoint.…" 21 秒前 上昇 20 秒 0.0。 0.0:80->80/tcp mynginx

    ブラウザで nginx にアクセス
ブラウザに localhost または 127.0.0.1 と入力して、nginx のようこそインターフェイスを表示します。

ただし、場合によってはnginxにアクセスできない場合があります。

問題分析:

まず、問題がどこにあるのかを確認する必要があります。

    システム ファイアウォール構成の表示
Ubuntu システムのデフォルトのファイアウォール ツールは ufw です。次のコマンドを使用してその構成を表示できます:

sudo ufw status

出力が次の場合、システム ファイアウォールがオンになっていることを意味します:

Status: active

To Action From

#22/tcp ' 許可 ' ' s ' s ' s ' t - ----- , ##80/tcp どこでも許可
22/tcp (v6) どこでも許可 (v6)

80/tcp (v6) Anywhere (v6)

この時点で、ポート 80 がシステム ファイアウォールの通過を許可されているかどうかを確認する必要があります。上記の出力からわかるように、ポート 80 へのアクセスは許可されているため、これは問題ではありません。

ネットワーク接続ステータス

  1. ping コマンドを使用して 127.0.0.1 のネットワーク接続ステータスを確認すると、次のエラー メッセージが表示されます。
ping : connect: ネットワークに到達できません

これは、ネットワーク接続の問題がここにあることを意味します。引き続き原因の調査を行ってください。

ローカル ネットワーク アドレスは正しいですか?

  1. コンテナを作成したときにポート 80 を nginx コンテナにマッピングしたため、nginx コンテナのローカル ネットワーク アドレスに接続してみます。ローカル ポート 80 なので、コンテナにアクセスするにはコンテナのローカル ネットワーク アドレスを使用する必要があります。次のコマンドを使用して、ローカル コンテナのアドレスを表示できます:
sudo docker Inspection mynginx | grep IPAddress

応答は次のようになります:

"IPAddress" : "172.17.0.2",

ブラウザで 172.17.0.2 にアクセスしてみると、nginx のウェルカム ページが表示されます。これは、現時点ではポート マッピングとファイアウォール ルールが正しいことを意味します。問題はローカル ネットワーク アドレスの設定にあります。

解決策:

nginx 構成ファイルを変更し、次のように構成ファイルにサーバー ノードを追加します。ホスト名はローカル IP アドレスです。

server {

listen 80 default_server;
listen [::]:80 default_server;

server_name localhost;

root /var/www/html;
index index.html index.htm;

location / {
    try_files $uri $uri/ =404;
}

# 新增的本机IP节点
server {
    listen 80;
    listen [::]:80;

    server_name <本机IP>;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
ログイン後にコピー
}

変更が完了したら、nginx 構成ファイルをリロードします:

sudo nginx -s reload

localhost または 127.0.0.1 に再度アクセスし、開きますブラウザで nginx のウェルカム ページが表示されます。

要約:

docker は正常に作成されたが接続できないという問題は、ネットワーク接続ステータス、システムのファイアウォール構成、ローカル ネットワーク アドレス設定などに関連している可能性があります。問題をトラブルシューティングし、適切な解決策を講じることで、問題はスムーズに解決されます。今後 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文字)

Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Mar 12, 2025 pm 06:07 PM

この記事では、Dockerのレート制限とリソースの割り当ての実装について詳しく説明しています。 CGROUPを使用してCPU、メモリ、およびI/Oの制限をカバーし、リソースの疲労を防ぐためのベストプラクティスを強調します。 ネットワークレートの制限、ような外部ツールが必要です

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

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

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

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

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

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

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

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

低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? 低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? Mar 14, 2025 pm 02:00 PM

この記事では、低遅延アプリケーションのDockerを最適化する戦略について説明し、画像サイズの最小化、軽量ベース画像の使用、リソースの割り当てとネットワーク設定の調整に焦点を当てています。

See all articles