通过Docker运行Flask和SQLAlchemy应用程序的问题

我有一个用python,sqlalchemy和flask写的web应用程序。

该应用程序以及静态文件,样式表等都存储在一个名为flask-app的文件夹中,程序将从以下位置运行:

python server.py 

当我从terminal运行这个,它工作得很好。 但是,当我从docker运行它不起作用。

我的Dockerfile看起来像这样:

 FROM ubuntu:latest MAINTAINER Rahul Raghhunath "rahulraghu94@gmail.com" RUN apt-get update -y RUN apt-get install -y python-pip python3.5 build-essential COPY . /server WORKDIR /server RUN pip install --upgrade pip RUN pip install flask SQLAlchemy ENTRYPOINT ["python3.5"] CMD ["server.py"] 

我正在运行以下内容:

 docker build -t rahulraghu94/wine-catalog . 

它运行成功。

但是当我运行:

 docker run rahulraghu94/wine-catalog 

它说:

 Traceback (most recent call last): File "server.py", line 1, in <module> from flask import Flask, render_template, request, url_for, redirect, flash, jsonify ImportError: No module named 'flask' 

我无法弄清楚什么是错的。 任何帮助?

烧瓶正在为python 2.7x安装

如@polkubuild议,如果您想使用python3解释器,请尝试使用pip3

你可以尝试安装python3-pip并使用pip3来安装flask和SQLAlchemy

 FROM ubuntu:latest RUN apt-get update -y RUN apt-get install -y python3-pip python3.5 COPY . /server WORKDIR /server RUN pip3 install flask SQLAlchemy ENTRYPOINT ["python3.5"] CMD ["server.py"]