1. ホーム

[解決済み】docker run <IMAGE> <MULTIPLE COMMANDS> (ドッカーラン)。

2022-03-29 04:08:33

質問

このようなコマンドを複数回実行しようとしています。

docker run image cd /path/to/somewhere && python a.py

しかし、これは...と解釈されるため、"No such file or directory"エラーが発生します。

"docker run image cd /path/to/somewhere" && "python a.py"

ESCAPE文字(""や()など)が必要なようです。

そこで、私も試してみました。

docker run image "cd /path/to/somewhere && python a.py"
docker run image (cd /path/to/somewhere && python a.py)

が、これらはうまくいかなかった。

を検索してみました。 Docker Run リファレンス が、ESCAPE 文字に関するヒントは見つかりませんでした。

どのように解決するのですか?

dockerで複数のコマンドを実行するには /bin/bash -c とセミコロン ;

docker run image_name /bin/bash -c "cd /path/to/somewhere; python a.py"

コマンド1 (cd) がゼロ (エラーなし) を返した場合にのみ、コマンド2 (python) を実行する必要がある場合は、次のようにします。 && の代わりに ;

docker run image_name /bin/bash -c "cd /path/to/somewhere && python a.py"