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

Dockerfile创建的/new_folder目录位置排查:exec进容器后无法找到

Docker容器中找不到/new_folder目录的排查与解决

你的Dockerfile里RUN mkdir -p /new_folder命令是在镜像的根目录(/)下创建new_folder目录,正常情况下容器启动后该目录应该存在。找不到的话,大概率是以下几种情况:

可能的原因及解决步骤

1. 使用了旧镜像启动容器

构建镜像时如果依赖缓存或未重新生成新镜像,可能一直在用之前没创建/new_folder的旧镜像。解决方法:

  • 强制重新构建镜像,跳过缓存:
    docker build --no-cache -t myimage .
    
  • 用新构建的镜像启动容器:
    docker run -d --name mycontainer myimage
    

2. 容器启动时挂载了本地卷覆盖目标目录

如果启动容器时用了-v或--mount参数,将本地目录挂载到/或/new_folder路径,会直接覆盖容器内的原有目录。解决方法:

  • 检查启动命令,移除可能覆盖/new_folder的挂载参数,比如避免这类错误命令:
    docker run -v /local/path:/new_folder -d myimage
    
  • 改用不冲突的挂载路径,或者完全不挂载卷做测试。

3. 进入容器后路径查看错误

进入容器后当前工作目录是/app,直接执行cd new_folder会报错,需要用绝对路径cd /new_folder,或者先执行ls /查看根目录下的所有文件,确认new_folder是否存在。

4. 构建过程中mkdir命令执行失败

查看镜像构建日志,确认RUN mkdir -p /new_folder步骤是否成功执行:

  • 重新构建时观察输出,Alpine镜像默认以root用户运行,创建根目录下的文件夹不会有权限问题,若出现报错需检查Dockerfile的其他配置是否影响了用户权限。

快速验证方法

无需启动容器,直接从镜像中查看目录是否存在:

docker run --rm myimage ls /

如果输出里包含new_folder,说明镜像本身没问题,问题出在容器启动或进入后的操作环节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:35:32