Как создать образ докера из существующего проекта колбы? - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть проект фляги, работающий на Pycharm

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

Я хотел бы докеризировать существующий проект в Pycharm. Я попытался добавить новый интерпретатор, как здесь, Docker-Compose: запуск Flask и запуск , но у меня не получилось.

Я создал файл 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.

Вот моя конфигурация файла докера:

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")

1 Ответ

2 голосов
/ 30 сентября 2019

Pycharm не создает файл Dockerfile или docker-compose.yaml, это ваша ответственность. Эти два файла связаны в следующем учебном пособии:

  1. https://github.com/ErnstHaagsman/flask-compose/blob/master/docker-compose.yml
  2. https://github.com/ErnstHaagsman/flask-compose/blob/master/Dockerfile

Эти файлы должны находиться в корневом каталоге вашего проекта,Вкратце, Dockerfile описывает среду выполнения (образ) для вашего приложения, а файлы compose сообщают докеру, как создать и запустить этот образ. В большинстве реальных случаев оба эти файла будут изменены в соответствии с вашими потребностями, и поэтому их будет сложно сгенерировать автоматически.

Затем вы можете следовать разделу Настройка Pycharm для настройки удаленного интерпретатора (Docker). ,

Обратите внимание еще на несколько вещей:

  1. Интерпретатор Docker поддерживается только в профессиональной редакции pycharm.
  2. Вам также необходимо установить и запустить Docker и Docker-составь себя.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...