小编典典

码头运行

all

我正在尝试运行这样的多个命令。

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 Run Reference,但没有找到任何关于
ESCAPE 字符的提示。


阅读 129

收藏
2022-04-14

共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"
2022-04-14