通过Docker

时间:2016-06-15 13:24:46

标签: python docker flask sqlalchemy

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

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

python server.py

当我从终端运行它时,它运行得非常好。但是当我从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'

我无法弄清楚出了什么问题。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

正在为python 2.7x

安装

flask

如@polku建议的那样,如果你想使用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"]