我的项目的当前目录看起来像这样:
project
\---- file1.dockerfile
\---- scripts
\-- venv.sh
\-- task-name
\-- run-script.sh
\---- data
\-- data1.json
在file1.dockerfile
中,我有以下内容:
FROM python:3.10.10
WORKDIR /app
COPY ./scripts/venv.sh ./scripts/task-name/run-script.sh ./data/data1.json /app/
RUN /app/venv.sh && poetry shell
CMD ["bash", "/app/run-script.sh"]
当我运行它时,我得到以下错误:
ERROR: failed to solve: failed to solve with frontend dockerfile.v0: failed to build LLB: failed to compute cache key: "/scripts/venv.sh" not found: not found
我尝试将copy语句更改为COPY . .
,但似乎没有解决任何问题。我做错了什么?
编辑
Poetry在第一个shell脚本中初始化。
2条答案
按热度按时间zsbz8rwp1#
请检查您的.dockerignore文件,因为www.example.comvenv.sh可能与某些模式匹配,因此没有被复制。
kgsdhlau2#
有几点你需要检查:
1.检查你的
.dockerignore
看看你是否忽略了文件或文件夹或所有内容(*).1.尝试运行
docker build --no-cache
。1.你如何运行你的Docker构建命令?你在使用vscode或其他工具吗?请确保您的
cd
到您的project
文件夹.