我试图在它的主机上运行docker容器内的一些命令.通常,当我想在主机的docker容器中执行shell命令时,我将执行以下操作:
docker exec -ti myContainer ls -l
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.但是当我尝试更改这样的目录时:
docker exec -ti myContainer cd myDirectory
Run Code Online (Sandbox Code Playgroud)
它抛出错误:
rpc错误:代码= 2 desc ="oci运行时错误:exec失败:exec:\"cd \":$ PATH中找不到可执行文件"
有谁知道为什么会发生这种情况以及我如何解决它?
cd不是OS可执行文件,是shell命令.要运行它,您需要运行一个shell来解析它.docker exec -ti myContainer /bin/sh -c "cd myDirectory"