如何在 Dockerfile 运行 中使用管道(ioredirection)?
How to use pipes(ioredirection) in Dockerfile RUN?
Dockerfile 中的以下行不起作用:
RUN git archive master | tar -x -C /path
错误信息:
fatal: Not a valid object name
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
如何解决这个问题?
您可以尝试 sh -c
命令
RUN sh -c 'git archive master | tar -x -C /path'
如果没有,您可以将该命令包含在脚本中,复制脚本并运行它。
以下变化如何:git archive master | tar xf - -C /path
?
看起来问题实际上出在您的 git 存储库(或您的 RUN
在其中执行的目录):
fatal: Not a valid object name
此错误来自 git,表明没有名为 master
的分支。
Dockerfile 中的以下行不起作用:
RUN git archive master | tar -x -C /path
错误信息:
fatal: Not a valid object name
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
如何解决这个问题?
您可以尝试 sh -c
命令
RUN sh -c 'git archive master | tar -x -C /path'
如果没有,您可以将该命令包含在脚本中,复制脚本并运行它。
以下变化如何:git archive master | tar xf - -C /path
?
看起来问题实际上出在您的 git 存储库(或您的 RUN
在其中执行的目录):
fatal: Not a valid object name
此错误来自 git,表明没有名为 master
的分支。