Я не могу подключиться к серверу CherryPy, работающему внутри док-контейнера, из моей системы, когда я использую cherrypy.tree.mount
, но когда я делаю cherrypy.quickstart()
, я могу подключиться к серверу.Запрос скручивания к localhost:8080
с cherrypy.tree.mount
выдает ошибку curl: (56) Recv failure: Connection reset by peer
.
Файл приложения, который работает
import cherrypy
class HelloWorld(object):
@cherrypy.expose
def index(self):
return "Hello World!"
cherrypy.quickstart(HelloWorld(), '/', {'global': {'server.socket_host':'0.0.0.0','server.socket_port': 8080}})
Файл приложения, который не удается
import cherrypy
class HelloWorld(object):
@cherrypy.expose
def index(self):
return "Hello World!"
cherrypy.tree.mount(HelloWorld(), '/', {'global':{'server.socket_host':'0.0.0.0','server.socket_port': 8080}})
cherrypy.engine.start()
cherrypy.engine.block()
Dockerfile
FROM python:3.6
RUN mkdir -p /opt/server
WORKDIR /opt/server
ADD . /opt/server
VOLUME /opt/server
RUN pip install cherrypy
EXPOSE 8080
CMD python app.py
Я должен использовать cherrypy.tree.mount
, потому что мне нужно запустить несколько приложений на одном сервере.