鍍金池/ 問答/Java  PHP  Linux/ 宿主機(jī)nginx訪問docker容器中的php報(bào)錯(cuò)

宿主機(jī)nginx訪問docker容器中的php報(bào)錯(cuò)

我用的本機(jī)的Nginx,然后用Docker在本機(jī)建了個(gè)PHP7的環(huán)境,php-fpm在Docker中啟動(dòng)了,也映射了端口,宿主機(jī)9200映射為容器中的9000,也加了代碼目錄到數(shù)據(jù)卷,但是用本機(jī)nginx訪問docker里的php里報(bào)錯(cuò),nginx訪問php-fpm的端口使用的是映射后的端口, fastcgi_pass 127.0.0.1:9200;

nginx的錯(cuò)誤日志如下:

2018/06/06 20:36:52 [error] 81417#0: *500 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: wq.cn, request: "GET //test.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9200"

能連接過去,大概意思是從上游讀取響應(yīng)頭時(shí)過早地關(guān)閉連接。在網(wǎng)上查解決方案,沒找到,不知有沒有大神可以幫助解決一下,非常感謝!

回答
編輯回答
裸橙

不能用127.0.0.1,php對(duì)于你來說已經(jīng)是另一臺(tái)電腦了,不是本機(jī),你需要進(jìn)docker查看容器的ip是多少。
還有一種方案就是nginx也做成容器,然后把php的容器關(guān)聯(lián)進(jìn)nginx的容器,這樣就可以設(shè)置php容器的別名,你也不需要每次啟動(dòng)容器去改ip了

2018年7月8日 05:02