我正在尝试运行这样的多个命令。
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 字符的提示。
要在 docker 中运行多个命令,请使用/bin/bash -c和分号;
/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"