我正在尝试在运行的 docker 容器中运行特定命令。
Docker exec -t containername1 ls /tmp/sth/*
作为回报我收到
ls: cannot access '/tmp/sth/*': No such file or directory
事实上,当我在容器内执行命令时,一切正常。容器使用 Debian,本地计算机使用 Windows。我试图找到它,但找不到。
如果你想要一个 shell 在容器内来扩展你的 glob,你需要......嗯......实际上在容器内运行一个 shell。容器外部的人看不到容器内部的文件(当然),因此它传递
ls
文字模式,而不是您想要的目录中的文件列表。
因此:
docker exec -t t1 sh -c "ls /tmp/sth/*"
...请注意,我通常会在命令中使用单引号,但由于您的主机是 Windows,因此使用双引号,因为它们更有可能从
cmd.exe
开始工作。