【问题标题】:Dockerfile for Python DJango failing on COPYPython DJango 的 Dockerfile 在 COPY 上失败
【发布时间】:2020-02-28 15:20:37
【问题描述】:

我有一个 Dockerfile 在构建时失败并出现错误;

复制失败:stat /var/lib/docker/tmp/docker-builder476469130/requirements.txt:没有这样的文件或目录

requirments.txt 文件的 COPY 行出现错误。我使用了一个非常标准的 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"]

我对此表示反对,并且已经在谷歌教堂祈祷了一段时间。我检查了上下文,它似乎是正确的。我的构建命令是;

sudo docker build -t coroner:dev .

Docker 版本Docker version 19.03.6, build 369ce74a3c

有人可以帮我摆脱痛苦吗?

【问题讨论】:

  • COPY 命令的 destination 有错字(requirments.txt,中间缺少“e”),但这不会导致您显示的错误, 除非本地源代码树中的文件名有类似的拼写错误。

标签: python docker dockerfile


【解决方案1】:

您在目的地的“requirements.txt”中有错字,您输入了“requirments.txt”。

但是,因为您只是将其复制到您指定 WORKDIR 的位置,您可以这样做:

COPY requirements.txt .

然后该文件将被复制到您的 CWD。​​p>

【讨论】:

  • 谢谢哥们,我需要停止编码这么晚,错误的情况可能是早...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
  • 2020-05-03
相关资源
最近更新 更多