如何从现有的Flask项目构建docker映像?

问题描述 投票:0回答:1

我有一个在Pycharm上运行的flask项目

flask-app\
  app\
     Database.py
     static\
     tempalates\
         home.html
         objects.html
         template.html
     app.py
     requirements.txt
  ven\
  Dockerfile

我想在pycharm中对现有项目进行docker化。我试图在此处添加新的解释器,Docker-Compose: Getting Flask up and running ,但是我没有工作。

我创建了docker文件并尝试在容器中运行它,这就是我得到的内容:

web_1  | Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python3.7/site-packages/flask/cli.py", line 240, in locate_app
web_1  |     __import__(module_name)
web_1  |   File "/opt/project/app/app.py", line 4, in <module>
web_1  |     from app import Database
web_1  | ImportError: cannot import name 'Database' from 'app' (/opt/project/app/app.py)

很明显,识别出app.py存在的文件夹app时出了问题。

这是我的docker文件配置:

FROM python:3
EXPOSE 5000
MAINTAINER Khalil Mebarkia
COPY app /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD python app.py

和app.py

from flask import Flask, render_template, request
import math
from flask_bootstrap import Bootstrap
from app import Database

db = r'database.db'

app = Flask(__name__)
bootstrap = Bootstrap(app)

if __name__ == "__main__":
    app.run(debug=True, host="0.0.0.0")

@app.route("app/")
def home():
    return render_template("home.html")
python docker flask pycharm
1个回答
2
投票

Pycharm不会创建Dockerfiledocker-compose.yaml文件,这是您的责任。这两个文件在您正在关注的教程中链接:

© www.soinside.com 2019 - 2024. All rights reserved.