【发布时间】:2021-10-20 10:24:24
【问题描述】:
我创建了一个烧瓶 api 并将其作为 docker 映像托管。镜像的 dockerfile 如下所示:
FROM pymesh/pymesh:latest
WORKDIR /apiapp
RUN pip install flask
EXPOSE 5000
COPY . /apiapp
ENV FLASK_APP=feature_extract_api.py
# ENTRYPOINT ['/bin/bash']
CMD ["flask", "run", "--host", "0.0.0.0"]
原始python文件中的app.run()如下所示:
if __name__=='__main__':
app.run()
运行 docker 容器时的终端显示如下:
(dockerenv) D:\Siemens\Docker Pymesh API>docker run -p 5000:5000 pymeshapi:trial
* Serving Flask app 'feature_extract_api.py' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://172.17.0.2:5000/ (Press CTRL+C to quit)
但是,当我转到链接 http://172.17.0.2:5000/ 时,我没有得到任何回应。但是当我跑步时
http://localhost:5000/,我得到一个有效的响应。
为什么会这样?
谢谢你
【问题讨论】:
-
是的,虽然我没有完全理解它,但我明白了要点。谢谢
标签: python docker flask dockerfile