Docker构建 COPY Pipfile Pipfile.lock 缓存密钥错误

3

当我尝试构建Dockerfile时,出现了这个错误。我该如何解决?

无法计算缓存密钥:“/Pipfile.lock”未找到:未找到

# Pull base image
FROM python:3.9

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work directory
WORKDIR /code
# Install dependencies

COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system

# Copy project
COPY . /code/

1
你的本地项目根目录中是否有pipfile.lock文件?看一下你项目结构的截图会很有帮助。我猜你需要在构建镜像之前运行pipenv lock来生成pipfile.lock文件。 - ENDEESA
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

你的 Dockerfile 必须在你的 hello 目录中

我遇到了同样的问题,因为我的 Dockerfile 在桌面上,所以我将它移动到我的 hello 目录(即你的项目目录),然后它就可以工作了!


我的Dockerfile在项目目录中,但我的问题没有解决,https://dev59.com/_cDqa4cB1Zd3GeqPgI6C - sorosh_sabz

0

我有同样的问题。但是我刚刚解决了。

我想说的是,请关闭dockerfile并重新打开它,确保内容和修复再次进行。此外,请确保Dockerfile在hello目录中。我认为您对更新的某些内容有误解。

我认为你提出的问题文件是正确的。另一个可能性是,python:3.9.x,而不是'python:3.9'(可能是...)

您应该将Dockerfile移动到hello目录中,并将当前目录移动到命令提示符上。然后请重试。

在我的情况下,我按照书上的指示进行了编辑,但是我无法执行命令。我得到了相同的错误。

但是我曾经关闭过它,重新打开它,发现我的编辑被取消了,原因不明。

(附录)我误解了一些要点。

#Pull base image
FROM python:3.10.4 # wrong→ I have forgotten :

#Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

#Set work directory
WORKDIR /code  # wrong→ I made a blank. / code

# Install dependencies
COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system # wrong→ same. -- system

# Copy project
COPY . /code/

我一遍又一遍地编辑 Dockerfile,但每次命令都失败了,并抛出相同的错误。

由于修订未被采用,因此发生了错误。虽然我不知道原因。

但在 docker-compose.yml 的情况下,我遇到了错误:'3.10.4'

ERROR: Version "3.10.4" in ".\docker-compose.yml" is invalid.

'3.10' 进展顺利。


0
FROM python:3.9.6
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
Copy . /code/

1
虽然此代码可能解决问题,但包括解释如何以及为什么解决问题会在提高您的帖子质量方面非常有帮助,并且可能会导致更多的赞。请记住,您正在回答未来读者的问题,而不仅仅是现在提问的人。请[编辑]您的答案以添加解释并指出适用的限制和假设。 - Kevin M. Mansour

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,