Dockerfile для Python DJango не работает на COPY - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть Dockerfile, который завершается неудачно при сборке с ошибкой;

Копирование не выполнено: stat /var/lib/docker/tmp/docker-builder476469130/requirements.txt: такого файла нет или каталог

Ошибка в строке COPY для файла Requirments.txt. Я использую довольно стандартный Dockerfile;

FROM python:3.6.7-slim

# Version: 1.4
# Dockerfile to build the coroner container.

# Install Python and Package Libraries
RUN apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get autoclean
RUN apt-get install -y \
    libffi-dev \
    libssl-dev \
    default-libmysqlclient-dev \
    libxml2-dev \
    libxslt-dev \
    libjpeg-dev \
    libfreetype6-dev \
    zlib1g-dev \
    net-tools \
    nano

ARG PROJECT=coroner
ARG PROJECT_DIR=/var/www/${PROJECT}
WORKDIR $PROJECT_DIR
ENV PYTHONUNBUFFERED 1

RUN mkdir -p $PROJECT_DIR

COPY requirements.txt $PROJECT_DIR/requirments.txt

RUN pip install --upgrade pip
RUN pip install -r $PROJECT_DIR/requirements.txt

EXPOSE 8888
STOPSIGNAL SIGINT
ENTRYPOINT ["python", "manage.py"]
CMD ["runserver", "0.0.0.0:8888"]

Я бьюсь головой об этом и уже некоторое время молюсь в церкви Google. Я проверил контекст, и это кажется правильным. моя команда сборки:

sudo docker build -t coroner:dev .

Docker Версия Docker version 19.03.6, build 369ce74a3c

Может кто-нибудь избавить меня от моих страданий, пожалуйста?

1 Ответ

1 голос
/ 28 февраля 2020

У вас есть опечатка в файле 'needs.txt' в пункте назначения, вы положили 'Requirments.txt'.

Однако, поскольку вы просто копируете это туда, где указали свой WORKDIR, вы можете просто сделать:

COPY requirements.txt .

Файл будет скопирован в ваш CWD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...