[英]Using '*' in docker exec command
我正在尝试在运行的docker容器中运行特定的命令。
Docker exec -t t1 ls /tmp/sth/*
作为回报,我收到
ls: cannot access '/tmp/sth/*': No such file or directory
实际上,当我在容器内执行命令时,一切正常。 容器使用Debian,本地计算机使用Windows。 我试图找到它,但是找不到。
如果您想让容器内的外壳扩展您的glob,则需要……好吧……实际上是在容器内运行外壳。 容器外部的那个(当然)看不到容器内部的文件,因此它传递了ls
文字模式,而不是您想要的目录中的文件列表。
从而:
docker exec -t t1 sh -c "ls /tmp/sth/*"
...请注意,我通常会在命令中使用单引号,但是由于您的主机是Windows,因此使用双引号是因为它们更有可能在cmd.exe
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.