docker run with cd命令失败,在$PATH中找不到可执行文件

docker run with cd命令失败,在$PATH中找不到可执行文件,docker,Docker,我要执行此命令: docker run --volumes-from dbdata2 -v $(pwd):/backup ubuntu cd /dbdata && tar xvf /backup/backup.tar 就像这里描述的那样 但是,我得到以下错误: exec: "cd": executable file not found in $PATH Error response from daemon: Cannot start container a5da18532a63

我要执行此命令:

docker run --volumes-from dbdata2 -v $(pwd):/backup ubuntu cd /dbdata && tar xvf /backup/backup.tar
就像这里描述的那样

但是,我得到以下错误:

exec: "cd": executable file not found in $PATH
Error response from daemon: Cannot start container a5da18532a63195f421757ab294c8fab82cd8e8beccb1ef29998d4b8b1293b43: [8] System error: exec: "cd": executable file not found in $PATH

有什么问题吗?

如果您使用docker阅读备份和还原,您可能会遇到以下问题:

docker run --volumes-from dbdata2 -v $(pwd):/backup ubuntu cd /dbdata && tar xvf /backup/backup.tar
由于该命令是docker建议的,因此无法正常工作。它将给出以下错误:

exec: "cd": executable file not found in $PATH
一个简单的解决方案是包装cd命令:

sh -c "cd /dbdata && tar xvf /backup/backup.tar"

cd
是一个shell内置程序,而不是命令。如果Docker是逐字而不是通过shell运行命令,则可能会出现此错误。也许
。。。sh-c“cd/dbdata&tarxvf/backup/backup.tar”