我正在尝试运行多个这样的命令。
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"
如果仅在command1(cd)返回零(无错误)退出状态时需要执行command2(python)的情况下,请使用&&代替;
&&
docker run image_name /bin/bash -c "cd /path/to/somewhere && python a.py"