报错信息解决方案相关知识
shell 形式exec 形式 报错信息
ERROR: Could not open requirements file: [Errno 2] No such file or directory: ‘requirements.txt’
The command ‘/bin/sh -c pip install -r requirements.txt’ returned a non-zero code: 1
具体脚本如下。
COPY requirements.txt /tmp/requirements.txtRUN ["pip", "install", "-r", "/tmp/requirements.txt"]
以上代码在Docker version 20.10.8下测试通过。
相关知识Dockerfile中的RUN有两种形式,一种是shell形式,另一种是exec形式。
shell 形式命令在 shell 中运行Linux 上默认为 /bin/sh -cWindows 上 cmd /S /C
RUN
Shell格式底层会调用/bin/sh -c来执行命令,可以解析变量
这个意思是:shell语句会自主默认/bin/sh -c 来执行
exec 形式RUN ["executable", "param1", "param2"]
exec格式需要指定使用什么脚本来执行