ドッカー実行 質問する

ドッカー実行 質問する

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

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

しかし、次のように解釈されるため、「そのようなファイルまたはディレクトリはありません」というエラーが発生します...

"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 実行リファレンスしかし、ESCAPE 文字についてのヒントは見つかりませんでした。

ベストアンサー1

dockerで複数のコマンドを実行するには、/bin/bash -cセミコロンを使用します。;

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

command2 (python) は、command1 (cd) がゼロ (エラーなし) 終了ステータスを返した場合にのみ実行される必要がある場合は、&&代わりに以下を使用します。;

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

おすすめ記事