docker run with cd command failed with executable file not found in $ PATH

我想执行这个命令:

docker run --volumes-from dbdata2 -v $(pwd):/backup ubuntu cd /dbdata && tar xvf /backup/backup.tar 

就像这里所描述的http://docs.docker.com/userguide/dockervolumes/#backup-restore-or-migrate-data-volumes

但是,我得到以下错误:

 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备份和恢复http://docs.docker.com/userguide/dockervolumes/#backup-restore-or-migrate-data-volumes您可能会遇到问题,该命令

 docker run --volumes-from dbdata2 -v $(pwd):/backup ubuntu cd /dbdata && tar xvf /backup/backup.tar 

不工作,因为这个命令是由dockerbuild议的。 它会给出错误:

 exec: "cd": executable file not found in $PATH 

一个简单的解决scheme是包装cd命令:

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