目次
インターネットで情報を見つけた後、多くの人は
问题解决
问题补充:
ホームページ 運用・保守 Docker docker がホストに ping できない場合はどうすればよいですか?

docker がホストに ping できない場合はどうすればよいですか?

Jan 04, 2022 pm 04:58 PM
docker ping

Docker がホストに ping できない問題の解決策: 1. daemon.json を変更します; 2. ファイアウォールをオフにします; 3. sysctl.conf を変更します; 4. ネットワーク ブリッジをリセットします。

docker がホストに ping できない場合はどうすればよいですか?

この記事の動作環境: ubuntu16.04 システム、Docker 20.10.11、Dell G3 コンピューター。

#Docker がホストに ping できない場合はどうすればよいですか?

Docker ブリッジ モードでホストに ping できない

問題の説明:

Dockerネットワークモードは4種類に分かれており、通常、設定しない場合はデフォルトでbridgeシングル ブリッジ モードの場合、コンテナーは独立した network Namespace を使用し、docker0 仮想ネットワーク カードに接続されます。 docker0 ブリッジおよび Iptables nat テーブル構成を介してホストと通信します。 この時点で、要塞マシンでテストし、
busybox を使用してテストします:

# 拉取镜像
docker pull busybox
# 运行容器
docker run -itd --name busy_bridge busybox
ログイン後にコピー
指示

docker network Inspection Bridge ネットワークを確認します:
docker がホストに ping できない場合はどうすればよいですか?## ネットワーク構成は成功しました。コンテナ内に移動して、

ip

を確認します。ip が割り当てられていることがわかりますが、 ping外部ネットワークに ping を実行すると失敗し、外部ネットワークに接続できません:
docker がホストに ping できない場合はどうすればよいですか? しかし、同じテストをローカルまたは Alibaba Cloud で実行すると、ネットワークに接続できることがわかります。何が問題ですか?

問題分析:

インターネットで情報を見つけた後、多くの人は

docker

を再起動すると接続できるようになります。通常、これは特定の構成が変更され、その後、再起動は機能しますが、ここでは効果がありません。一般に、変更にはいくつかの種類があります。以下で 1 つずつ試してみてください:

    Modify
  1. daemon.json
  2. ブリッジによって割り当てられたネットワーク セグメントがホストと競合するため、コンテナはホストにアクセスできません。割り当てを指定するには、
daemon.json

を変更する必要があります。コマンド vim /etc/ を使用してください。 docker/daemon.jsonを入力後に追加: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">{&quot;bip&quot;:&quot;172.16.10.1/24&quot;}</pre><div class="contentsignin">ログイン後にコピー</div></div>

docker

を再起動してコンテナを作成するとアクセスできますが、の間にはまったく競合がありませんip は元の要塞ホストとコンテナーによって割り当てられますが、このメソッドは機能しません。

    ファイアウォールを無効にする
  1. コンテナはブリッジ経由でホストにアクセスできないため、外部ネットワークにアクセスできません。ファイアウォールが無効になっている可能性があります。アクセスをブロックするため、ファイアウォールをオフにするか、特定のポートを開くことができます。サーバーでテストし、ファイアウォールをオンにしたところ、コンテナが Baidu ホームページとホストにアクセスできないことがわかりました。ファイアウォールを閉じて
docker

を再起動すると、コンテナに正常にアクセスできるようになりました。 ただし、Bastion マシンのファイアウォールは元々オフになっているため、この方法は役に立ちません。

    Modify
  1. sysctl.conf
  2. ##docker
ホストの内部ネットワークは正常であり、他のホストとのネットワークは正常です。接続に失敗します。他のホストは

docker ホストにマッピングされたポートに接続できず、docker は内部的に外部ホストに接続できません。## を使用してください。 #docker info コマンドで情報を確認すると、次のエラーが表示されます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WARNING: IPv4 forwarding is disabled WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled</pre><div class="contentsignin">ログイン後にコピー</div></div> コマンド vim /etc/sysctl.conf を使用して設定ファイルを編集し、次のコードを追加します。ファイル:

net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-arptables=1
net.ipv4.ip_forward=1
ログイン後にコピー

その後、コマンド systemctl restart networkネットワークを再起動し、

docker info

を再度確認すると、警告が消えます。しかし、それでも役に立たず、要塞マシン上のコンテナは依然としてブリッジ経由でホスト マシンにアクセスできず、外部ネットワークにもアクセスできません。 ブリッジをリセットします

  1. コマンドyum install Bridge-utils
  2. を使用してツールをインストールした後、次を使用します
brctl show

ネットワーク ブリッジを確認すると、次のことがわかります。 docker network create [ブリッジ名]
コマンドを使用して、新しいネットワーク ブリッジを作成し、生成されたネットワーク ブリッジを見つけます。 docker がホストに ping できない場合はどうすればよいですか?ブリッジ ID
はまだ 8000.0000000000 です。新しいブリッジ上にコンテナを作成し、再度確認しても変化はありません。これはおそらくブリッジに問題があることを示しています。 再度テストします この時点で、ブリッジ ip172.17.0.1
、コンテナ ip172.0.0.2 です。ホスト関数が見つかりました。 ping ネットワーク ブリッジは接続されていますが、コンテナーは接続できません。コンテナーはネットワーク ブリッジに接続できず、外部ネットワークはおろかホストにも接続できません。ネットワークブリッジに問題がある可能性があります。 <h3 id="问题解决">问题解决</h3> <p>  这里<code>docker network生成新的网桥不行,说明dockernetwork存在问题,我们利用刚才下载的bridge-utils来创建网桥。
  首先暂停docker服务,利用指令:

service docker stop
ログイン後にコピー

  添加网桥:

brctl addbr br0
ログイン後にコピー

  添加ip字段:

ip addr add 172.16.0.1/24 dev br0
ログイン後にコピー

  启用网桥br0

ip link set dev br0 up
ログイン後にコピー

  查看网络br0
docker がホストに ping できない場合はどうすればよいですか?

  修改docker默认网桥:

vim /etc/docker/daemon.json
ログイン後にコピー

  添加字段:

"bridge":"br0"
ログイン後にコピー

  重启docker

service docker start
ログイン後にコピー

  此时查看网桥:
docker がホストに ping できない場合はどうすればよいですか?

  在没有挂载容器前,依旧是8000.000000000000。运行测试容器:

docker run -itd --name busy_test busybox
ログイン後にコピー

  查看docker がホストに ping できない場合はどうすればよいですか?:
docker がホストに ping できない場合はどうすればよいですか?

  此时容器挂载在网桥上了,再次查看网桥id
docker がホストに ping できない場合はどうすればよいですか?

  说明已经其作用,进入测试容器内部,docker がホストに ping できない場合はどうすればよいですか?:
docker がホストに ping できない場合はどうすればよいですか?

  成功!
  补充:这里使用docker network新建网桥,没有用,发现新建网桥挂载容器后,其bridge id依旧不变,没有起作用,说明堡垒机上的docker network可能存在问题。

问题补充:

  上面的问题是创建自定义网桥,然后在自定义网桥上连接容器ab,结果宿主机无法pingab,且进入容器内部后,两个容器无法ping通自定义网络,但能彼此相通。
  查了很多资料,发现了这篇文章。博主说问题原因是系统内核的网桥模块bridge.ko加载失败导致,解决问题的方案是升级内核或升级系统。
  升级centos内核参考这篇。
  升级完成后,重装Docker,自定义网桥和容器,成功!不再有网络问题。

推荐学习:《docker视频教程

以上がdocker がホストに ping できない場合はどうすればよいですか?の詳細内容です。詳細については、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バージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerからログを表示する方法 Dockerからログを表示する方法 Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

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

Dockerによるプライベートリポジトリを構築する方法 Dockerによるプライベートリポジトリを構築する方法 Apr 15, 2025 am 11:06 AM

Dockerプライベートリポジトリを構築して、コンテナ画像を安全に保存および管理し、厳格な制御とセキュリティを提供できます。手順には、リポジトリの作成、アクセスの付与、リポジトリの展開、画像のプッシュ、および画像の引くなどがあります。利点には、セキュリティ、バージョン制御、ネットワークトラフィックの削減、カスタマイズが含まれます。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

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

See all articles