我是一名有用的助手,可以为您翻译文本。
我有一个Flask应用程序,正在尝试使用gunicorn在Docker容器中运行它。
这是我的Dockerfile。
我有一个Flask应用程序,正在尝试使用gunicorn在Docker容器中运行它。
这是我的Dockerfile。
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
这是我运行容器的方式 -
docker run <name>
这是我测试它的方式 -
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
据我所知,我正在执行以下操作:
- 暴露端口
- 访问正确的IP地址
- 在我的主机上访问正确的端口
- 将主机计算机上的端口映射到我的docker容器上。
为什么此操作超时?
我还尝试过:
CMD gunicorn -b 0.0.0.0:8000 -w 4 app:app
这应该映射所有内容docker run -p 8000:8000 iterative
,这应该强制在主机和容器之间进行端口映射。
但是都没有成功。
在我的计算机上,应用程序运行良好。
为什么它在docker容器中无法正常工作?