Докер Python "ModuleNotFoundError", "приложение не является пакетом" - PullRequest
0 голосов
/ 10 июня 2019

У меня есть простое приложение на Python, написанное на Flask.Когда я запускаю его напрямую через команду flask, он запускается, как и ожидалось.Однако, когда я делаю это и пытаюсь запустить его с помощью команды docker-compose, я получаю следующую ошибку:

enter image description here

Это моя структура приложения:

la

Это Dockerfile в каталоге приложения:

FROM python:3.6

EXPOSE 5000

WORKDIR /app

COPY requirements.txt /app
RUN pip install -r requirements.txt

COPY app.py /app
COPY model.py /app

CMD python app.py

А это файл docker-compose.yml:

version: "2"
services:
  app:
    build: ./app
    links:
      - db
    ports:
      - "5000:5000"

  db:
    image: mysql:5.7
    ports:
      - "32000:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
    volumes:
      - ./db:/docker-entrypoint-initdb.d/:ro

Я просто запускаю docker-compose up в главном каталоге проекта и получаю ModuleNotFoundError .Но когда я помещаю все в один файл app.py и запускаю его точно так же, он запускается без проблем с командой docker-compose up .Я думаю, что проблема заключается в упаковке py файлов в докер, но я не мог понять это.

Спасибо за вашу помощь!

...