You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker卷挂载异常:宿主机文件缺失仅显示星号

问题排查与解决

1. 宿主机目录下存在名为*的文件

直接在宿主机执行以下命令,确认目录内的真实文件情况:

ls -la /tmp/folder/

如果输出里确实有一个文件名是*的文件,那容器内显示的结果是正常的,不存在文件缺失问题。

2. 挂载路径的斜杠问题

你命令中宿主机路径末尾带了斜杠/tmp/folder/,虽然Docker通常能正确处理,但可以尝试去掉末尾斜杠重新挂载测试:

docker run --rm -it -v /tmp/folder:/folder --entrypoint /bin/sh image

3. 容器内ls命令被别名覆盖或异常

在容器内执行绝对路径的ls命令,排除别名干扰:

/bin/ls /folder

如果这个命令能正常显示文件,说明当前shell的ls被设置了别名(比如alias ls='ls *'),导致空目录下执行ls会输出*。可以用unalias ls取消别名。

4. 权限或SELinux限制

宿主机文件权限不足或SELinux策略可能阻止容器读取挂载文件:

  • 在宿主机查看文件权限和SELinux上下文:
    ls -lZ /tmp/folder/
    
  • 尝试挂载时添加Z选项修复SELinux上下文:
    docker run --rm -it -v /tmp/folder/:/folder:Z --entrypoint /bin/sh image
    

5. 误执行带通配符的命令

确认你在容器内执行的是ls /folder而非ls /folder/*——后者在空目录下会因为没有匹配到文件,直接输出通配符*。


内容的提问来源于stack exchange,提问作者user3472

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:33:15