2017-08-09 203 views
1

我的Python代碼搬運工蟒蛇simplehhtpserver不工作

# _*_ coding:utf-8 _*_ 

from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer 
import SocketServer 

class testHTTPSERVER_RequestHandler(BaseHTTPRequestHandler): 

    def do_GET(self): 

     self.send_response(200) 
     self.send_header('Content-type','text/html') 
     self.end_headers() 

     self.wfile.write("<html><body><h1>Hello world</h1></body></html>") 

def run(server_class=HTTPServer,handler_class=BaseHTTPRequestHandler): 
    print('starting server ....') 
    server_address = ('127.0.0.1',8081) 
    httpd = server_class(server_address,testHTTPSERVER_RequestHandler) 
    print('running server') 
    httpd.serve_forever() 

run() 

和搬運工文件

FROM python:2.7-onbuild 
#python:2.7.13-alpine dene 
ADD testhttp_server.py /src/app/testhttp_server.py 
WORKDIR /src/app/ 
EXPOSE 8081 

CMD ["python","testhttp_server.py"] 

docker run and logs

mozilla

所以這裏是我的錯?我的工作在兩天內,但我沒有發現其他任何東西

+0

也可以告訴我們你如何運行你的碼頭?是贏家的碼頭嗎?它是一個什麼樣的虛擬主機嗎? – user3012759

回答

1

更改此

server_address = ('127.0.0.1',8081) 

server_address = ('0.0.0.0',8081) 

127.0.0.1內泊塢窗容器意味着你要聽僅從容器內產生的流量,但是當你映射主機容器。它從主機發送流量到容器的IP。哪個id動態並且之前不知道。所以你需要聽聽容器內的所有接口。這就是爲什麼你應該使用0.0.0.0

+0

我試過了,但還沒有運行 –

+0

啓動了一個普通的nginx容器,看看它是否適合你? –

+0

@FATİHİLGİN你仍然得到相同的錯誤?你也可以添加docker ps和docker的pypect到你的問題的輸出。 – user3012759