fix: 修复 Docker 构建时 xp_presets.json 为目录导致失败

旧版 docker-compose 挂载单文件时,宿主机若不存在该文件会自动创建为目录。
用户重新构建镜像时 COPY . . 会把这个目录带入,导致 echo > 失败。

修复:
- Dockerfile 中 rm -rf 清除可能的同名目录残留后再创建文件
- .dockerignore 排除 projects.json/xp_presets.json/config.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
易生
2026-03-25 09:27:20 +00:00
parent e972f20013
commit 080579aad9
2 changed files with 8 additions and 4 deletions

View File

@@ -11,3 +11,6 @@ node_modules
frontend/node_modules
frontend/dist
.claude
projects.json
xp_presets.json
config.json

View File

@@ -40,10 +40,11 @@ COPY . .
# 复制前端构建产物
COPY --from=frontend-builder /app/frontend/dist /app/frontend/dist
# 创建数据目录和默认数据文件
RUN mkdir -p /app/output /app/styles /app/prompts
RUN echo '{"projects":{},"active_project":""}' > /app/projects.json
RUN echo '[]' > /app/xp_presets.json
# 创建数据目录和默认数据文件rm -rf 防止旧版挂载残留的同名目录)
RUN mkdir -p /app/output /app/styles /app/prompts \
&& rm -rf /app/projects.json /app/xp_presets.json \
&& echo '{"projects":{},"active_project":""}' > /app/projects.json \
&& echo '[]' > /app/xp_presets.json
EXPOSE 7860