我有一个烧瓶应用程序,我正在尝试使用 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 容器中不起作用?
GCT1015
慕神8447489
慕妹3242003
相关分类