Копирование файла в Docker контейнер во время сборки, но процесс утверждает, что файл не найден - PullRequest
0 голосов
/ 17 апреля 2020

Я использую Docker Toolbox для запуска Python API. Мой Docker -Композит для Python API можно увидеть ниже:

flask-api:
    container_name: flask_api
    restart: always
    build:
      context: ./api/
      dockerfile: Dockerfile
    ports:
      - "5000:80"
    volumes:
      - ./api:/usr/src/app

Файл Docker для этого flask -api находится в папке ./api. Dockerfile:

FROM python:3-onbuild

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY requirements.txt /usr/src/app

RUN pip install -r requirements.txt

COPY . /usr/src/app

CMD ["python", "app.py"]

Файл app.py находится в папке ./api. Однако, учитывая настройки Dockerfile и Docker -compose, запуск docker-compose завершается сбоем контейнера flask -api, утверждая, что «app.py не найден».

Что-то, что я пробовал:

  1. Я преобразовал Python образ в образ Ubuntu с тем же Dockerfile, запустил его в интерактивном режиме и обнаружил, что файлы действительно были скопированы.
  2. Я запустил Изображение Python также в интерактивном режиме, использовало os.lisrdir() для вывода списка файлов в текущем каталоге и снова обнаружило, что файлы действительно были скопированы.

Есть идеи по поводу этой проблемы? Пожалуйста, дайте мне знать, если есть какая-либо другая информация, о которой я могу сообщить.

...