簡體   English   中英

Docker容器無法連接到主機:沒有到主機的路由

[英]Docker container cannot connect to host machine: No route to host

我一直在嘗試使用docker compose設置docker環境。 令我難以理解的一個問題是我的docker容器無法訪問我的主機。

我使用以下撰寫文件設置了一個容器:

version: '3'
services:
  webapp:
    image: ...
    ports:
      - "8080:8080"

當我進入容器時,我能夠ping我的主機:

ping ${dockerHostIP}

但是,當我嘗試使用容器內的curl檢索主頁時:

curl http://${dockerHostIP}:8080

我明白了:

curl: (7) Failed connect to ${dockerHostIP}:8080; No route to host

我無法弄清楚應該怎么做來解決這個無路由到主機錯誤。 不幸的是,我需要能夠這樣做,因為Web應用程序在內部使用其主機名發出請求。

Traceroute結果:

traceroute ${dockerHostIP}
traceroute to ${dockerHostIP} (${dockerHostIP}), 30 hops max, 60 byte packets
 1  ${dockerHostName} (${dockerHostIP})  0.039 ms !X  0.012 ms !X  0.007 ms !X

令我驚訝的是,在我的情況下,這實際上是一個防火牆問題。

更新/啟用docker主機上的tcp端口[2375]可修復此問題。

sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent

sudo firewall-cmd --reload 

有用的鏈接:1。 在此 輸入鏈接描述 2. 在此 輸入鏈接描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM