web-dev-qa-db-ja.com

Dockerfile RUNでパイプ(ioredirection)を使用する方法は?

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

この問題を解決するにはどうすればよいですか?

12
Rob L

次のバリエーションはどうですか:git archive master | tar xf - -C /path

3

sh -cコマンドを試すことができます

RUN sh -c 'git archive master | tar -x -C /path'

そうでない場合は、そのコマンドをスクリプトに含め、スクリプトをコピーして実行できます。

8
VonC

問題は実際にはgitリポジトリ(またはRUNが実行されているディレクトリ)にあるようです。

fatal: Not a valid object name

このエラーはgitから発生しており、masterという名前のブランチがないことを示しています。

0
Guildencrantz