我有一个flask应用程序,我正试图使用gunicorn在docker容器中运行它。在
这是我的文件
FROM python:3.6
WORKDIR /app
COPY ./requirements.txt /.requirements.txt
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install -r requirements.txt
EXPOSE 8000
ENV FLASK_APP=<some_name>
ENV FLASK_ENV=development
CMD gunicorn -b :8000 -w 4 app:app
我就是这样管理集装箱的-
^{pr2}$我就是这样测试的-
curl -X POST http://172.17.0.2:8000/login -H 'cache-control: no-cache' -H 'content-type: application/json' -d '<SOME_PAYLOAD>'
curl: (7) Failed to connect to 172.17.0.2 port 8000: Operation timed out
据我所知,我是
为什么这次行动超时了?在
我也试过了
CMD gunicorn -b 0.0.0.0:8000 -w 4 app:app
它应该映射所有内容docker run -p 8000:8000 iterative
,这将强制主机和容器上的端口之间的映射。在但没用。在
在我的电脑上这个应用程序运行得很好。在
为什么它不能在docker容器中工作?在
您的docker容器运行不正确
假设你的Dockerfile得到了正确的文件,这应该可以解决这个问题
转到本地主机:8080到验证
根据我的经验,我发现以下方法在处理gunicorn和docker for flask时更有效。我建议您在Dockerfile中运行CMD,如下所示:
在您的情况下,脚本名很可能是“应用程序副本和运行时函数“app”。只是为了说明我的建议:
^{pr2}$也要添加工人:
希望这有帮助。在
相关问题 更多 >
编程相关推荐