python - 为什么 Docker 找不到 Flask 模块
问题描述
我已经创建了烧瓶应用程序并尝试对其进行码头化。它使用机器学习库,我在下载它时遇到了一些问题,所以我的 Dockerfile 有点乱,但 Image 已成功创建。
from alpine:latest
RUN apk add --no-cache python3-dev \
&& pip3 install --upgrade pip
WORKDIR /app
COPY . /app
FROM python:3.5
RUN pip3 install gensim
RUN pip3 freeze > requirements.txt
RUN pip3 --no-cache-dir install -r requirements.txt
EXPOSE 5000
ENV PATH=/venv/bin:$PATH
ENV FLASK_APP /sentiment-service/__init__.py
CMD ["python","-m","flask", "run", "--host", "0.0.0.0", "--port", "5000"]
当我尝试时: docker run my_app:latest 我得到
/usr/local/bin/python: No module named flask
当然,我的 requirements.txt 文件中有 Flask==1.1.1 。谢谢你的帮助!
解决方案
问题在这里:
RUN pip3 freeze > requirements.txt
bash 中的>
运算符会覆盖文件的内容。如果要附加到requirements.txt
,请考虑使用>>
运算符:
RUN pip3 freeze >> requirements.txt
推荐阅读
- haskell - 在模式匹配期间无法匹配 Haskell 中的预期类型
- arrays - 通过引用或值传递二维指针数组
- vue.js - 如何将 ttf 字体本地文件导入 Vuetify 变量?
- r - 使用 stat_slab 时,ROPE 区域内的区域没有均匀的颜色填充
- amazon-cloudwatch - CloudWatch 仪表板:覆盖时间窗口
- django - 从数据库列表接收动态数据时,如何在django模板中以网格格式显示内容?
- c# - 十进制?可空对象必须有一个值
- mysql - 如何捕获在 MySQL 数据库中保存项目时发生的scrapy异常?
- java - 无法通过 AWS EC2 上的 smtp.gmail.com 发送电子邮件
- python-3.x - 如何在 python 中创建带有实体的 DOCTYPE