Wic*_*123 0 linux windows containers system docker
我正在尝试在运行的docker容器中运行特定的命令。
Docker exec -t t1 ls /tmp/sth/*
Run Code Online (Sandbox Code Playgroud)
作为回报,我收到
ls: cannot access '/tmp/sth/*': No such file or directory
Run Code Online (Sandbox Code Playgroud)
实际上,当我在容器内执行命令时,一切正常。容器使用Debian,本地计算机使用Windows。我试图找到它,但是找不到。
如果您想让容器内的外壳扩展您的glob,则需要……好吧……实际上是在容器内运行外壳。容器外部的那个(当然)看不到容器内部的文件,因此它传递ls了文字模式,而不是您想要的目录中的文件列表。
从而:
docker exec -t t1 sh -c "ls /tmp/sth/*"
Run Code Online (Sandbox Code Playgroud)
...请注意,我通常会在命令中使用单引号,但是由于您的主机是Windows,因此使用双引号是因为它们更有可能在cmd.exe。