logo
0
0
WeChat Login
feat: 搭建多环境镜像构建系统和 Claude Code 集成

镜像脚本目录

此目录包含需要打包进镜像的脚本,安装到镜像的非工作区位置(/opt/cnb/scripts/)。

📁 文件说明

  • claude-restore.sh - Claude 配置恢复脚本(镜像版本)
  • Dockerfile.snippet - Dockerfile 配置片段示例

🎯 安装位置

脚本在镜像中的安装路径:

/opt/cnb/scripts/claude-restore.sh

重要:脚本安装在 /opt/cnb/scripts/ 而不是 /workspace/,确保与工作区隔离。

📝 Dockerfile 集成

在主 Dockerfile 中添加以下内容:

# 创建脚本目录 RUN mkdir -p /opt/cnb/scripts # 复制 Claude 恢复脚本 COPY image-scripts/claude-restore.sh /opt/cnb/scripts/claude-restore.sh RUN chmod +x /opt/cnb/scripts/claude-restore.sh

🔧 验证

构建镜像后验证脚本是否正确安装:

# 检查脚本是否存在 docker run --rm your-image ls -la /opt/cnb/scripts/claude-restore.sh # 测试脚本执行 docker run --rm -e CNB_REPO_SLUG_LOWERCASE=test your-image \ bash /opt/cnb/scripts/claude-restore.sh

⚠️ 注意事项

  1. 路径一致性

    • Dockerfile 复制目标:/opt/cnb/scripts/claude-restore.sh
    • cnb.yml 引用路径:/opt/cnb/scripts/claude-restore.sh
    • 必须完全一致
  2. 权限设置

    • 在 Dockerfile 中设置执行权限
    • 不要依赖源文件的权限
  3. 目录隔离

    • 安装到 /opt/cnb/ 而不是 /workspace/
    • 避免与工作区文件混淆
    • 工作区可能被挂载覆盖,但 /opt/ 不会

📚 相关文档

  • 开发工具:dev/README.md
  • 项目脚本:setup/README-CLAUDE.md
  • 模板配置:dev/templates/