簡體   English   中英

從Docker容器向主機超時發出卷曲請求

[英]Curl request from docker container to host timeout

我遇到docker問題,我認為這是由於我對docker網絡的了解不足。

我有一個運行nginx和php的docker鏡像。 必要的端口已暴露。 這是我用來運行映像的簡化命令。

docker run --name php-app -p 80:80 php-app

問題在於,對於安裝設置,php應用程序使用主機的公共IP自行卷曲。

例如, curl http://105.15.25.120/phpsetup.php?setup

由於卷曲超時,似乎無法從容器內部訪問此IP

curl -vvv 105.15.25.120
About to connect() to 105.15.25.120 port 80 (#0)
Trying 105.15.25.120...
Connection timed out
Failed connect to 105.15.25.120:80; Connection timed out
Closing connection 0
curl: (7) Failed connect to 105.15.25.120:80; Connection timed out

我可以從容器內部成功卷曲到其他IP,而不僅僅是主機的。

從主機使用curl可以正常工作,並且不會導致任何奇怪的行為。

為了簡單起見和測試,我使用官方的nginx圖像重現了該行為,以幫助得出結論,這與我自己的圖像無關。

docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -p 80:80

從我的研究看來,這似乎是一個路由問題? 不確定。

容器不應使主機卷曲。 它應該自動卷曲,因為它承載了您希望卷曲的內容。

curl http://127.0.0.1/phpsetup.php?setup

暫無
暫無

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

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