Docker ポートに ping を送信できません
Docker を使用している場合、Docker コンテナのポートがホストと通信できないことが時々あります。これには、ネットワーク構成の問題、セキュリティ設定の問題、ファイアウォールの問題など、さまざまな理由が考えられます。この記事では、Docker ポートが ping できない問題を解決する方法と、この問題の発生を防ぐ方法について説明します。
Docker ネットワーク構成を理解する
問題の解決に深く入る前に、Docker ネットワーク構成を理解する必要があります。 Docker には、ブリッジ、ホスト、なしという 3 つの基本的なネットワーク構成モードがあります。デフォルトでは、Docker はブリッジ モードを使用して IP アドレスをコンテナーに割り当て、コンテナーを仮想サブネットに接続します。これは、コンテナの IP アドレスがホストの IP アドレスとは異なることを意味します。
ネットワーク通信に Docker コンテナを使用する場合、ホストとコンテナの間でネットワーク アドレス変換 (NAT) が必要です。これは、コンテナからの攻撃からホストを保護するため、実際には優れたセキュリティ対策です。
ただし、これはコンテナ内のポートがホストと直接通信できないことも意味します。これは、コンテナ内のポートは通常、コンテナのサブネットに割り当てられており、ホスト上ではこのサブネットが表示されないため、コンテナのポートに直接アクセスできないためです。
Docker ポートが ping できない問題の解決
Docker ネットワーク構成の基本を理解したので、Docker ポートが ping できない問題の解決に着手できます。ピングする。
まず、Docker コンテナの IP アドレスを確認する必要があります。次のコマンドを使用して、実行中のコンテナを一覧表示できます:
docker ps
コンテナを一覧表示した後、次のコマンドを使用してコンテナの IP アドレスを取得できます:
docker inspect <container_id>
# を必ず置き換えてください。 ##container_id は独自のコンテナの ID です。
docker logs <container_id>
sudo ufw allow <port>/tcp
を必要なポートに置き換えてください。開ける。
http://localhost:8080 を通じてホストにアクセスすると、Docker コンテナのポート 80 にアクセスされます。
-p オプションを使用した Docker でのポート マッピングの例です:
docker run -p 8080:80 <image_name>
を実際のイメージに置き換えてください。 own イメージ名。
services: web: build: . ports: - "8080:80"
docker run --network=bridge <image_name>
EXPOSE 80
以上がDocker ポートに ping を送信できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop&lt; container_name&gt;コマンドを使用するDocker Kill&lt; container_name&gt;ホストターミナルのコマンド(フォース出口)

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop&lt; container_id&gt;);コンテナを起動します(docker start&lt; container_id&gt;);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]&lt; Container Path&gt; &lt;ホストパス&gt;。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockervolumeは、コンテナを再起動、削除、または移行すると、データが安全であることが保証されます。 1。ボリュームの作成:Dockervolumecreatemydata。 2。コンテナとマウントボリュームを実行します:Dockerrun-It-Vmydata:/app/dataubuntubash。 3.高度な使用には、データ共有とバックアップが含まれます。

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

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)
