我有一个在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")
Pycharm不会创建Dockerfile
或docker-compose.yaml
文件,这是您的责任。这两个文件在您正在关注的教程中链接: