如何在Dockerfile RUN中使用管道(ioredirection)?

Rob*_*b L 12 docker dockerfile

Dockerfile中的以下行不起作用:

RUN git archive master | tar -x -C /path
Run Code Online (Sandbox Code Playgroud)

错误信息:

fatal: Not a valid object name
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

Von*_*onC 8

您可以尝试sh -c命令

RUN sh -c 'git archive master | tar -x -C /path'
Run Code Online (Sandbox Code Playgroud)

如果没有,您可以在脚本中包含该命令,然后复制该脚本并运行它。


Evg*_*kiy 5

下面的变化如何:git archive master | tar xf - -C /path?