docker工人pythonsimplehhtpserver不能正常工作

我的Python代码

# _*_ 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() 

和docker文件

 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运行和日志

Mozilla浏览器

所以我的错误在哪里呢?我在这两天的工作,但我没有find其他的东西

改变这一点

 server_address = ('127.0.0.1',8081) 

 server_address = ('0.0.0.0',8081) 

在Docker容器中监听127.0.0.1意味着您只想监听容器内部产生的stream量,但是只能将主机映射到容器。 它从主机发送stream量到容器的IP。 哪个iddynamic,不知道之前。 所以你需要听听容器内的所有接口。 这就是为什么你应该使用0.0.0.0