2017-08-09 109 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