Docker无法找到目录:自制Gitea镜像的路径问题排查
问题分析与解决
核心原因
你使用的基础镜像(如Alpine)中,useradd命令默认不会自动创建用户家目录,因此/home/test目录实际并不存在,这就导致移动文件或直接下载到该路径时,系统提示“不是目录”或“没有该文件或目录”。
修正后的代码片段
RUN useradd -u 8877 -m test RUN wget -O /tmp/gitea <link> && mv /tmp/gitea /home/test/gitea && chmod +x /home/test/gitea
关键改动说明
- 添加
-m参数:强制useradd命令创建test用户的家目录/home/test - 补全目标文件名:原命令中
mv /tmp/gitea /home/test会试图将文件重命名为/home/test(但该路径不存在时会创建同名文件而非目录),修改为/home/test/gitea后,明确将文件移动到家目录下并保留文件名
内容的提问来源于stack exchange,提问作者Zeorth
相关产品推荐
相关产品推荐

