SuperAPI AI 工具集

docker

部署与运维

查看项目

更新于 10-16 05:42

技能介绍

用途:该技能用于基于容器的开发,让所有包安装和代码执行都在 Docker 容器内完成,从而保持宿主机干净,并让不同项目之间环境保持一致。核心原则是绝不在宿主机上直接运行 npm、node、npx 或项目脚本,而是通过 docker exec 执行,或让容器运行开发服务器。

主要能力与用法:运行任何 npm/node 命令前必须先做预检,确认容器在运行,例如 docker ps --filter "name=<project-name>" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"。若容器未运行,先进入项目根目录,再执行 docker-compose --profile dev up dev -d 启动并验证;若显示 Exited,可用 docker logs <project-name>-dev-1 --tail 20 查看原因,再 docker-compose --profile dev down 后重新启动。常用操作包括:安装依赖 docker exec -it <project-name>-dev-1 npm install <package-name>,安装开发依赖加 -D,运行测试、类型检查、lint、构建分别用 docker exec -it <project-name>-dev-1 npm test / npm run typecheck / npm run lint / npm run build,进入容器 shell 用 /bin/sh。npm run dev 不需要手动执行,因为已由 docker-compose 运行;git 命令和文件编辑在宿主机进行,卷挂载会自动同步。

适用场景:需要隔离、可复现的 Node 项目开发环境,尤其是希望避免污染宿主机、统一依赖与运行环境的场景。

限制与注意:需按项目替换容器名、端口、Node 版本、开发命令等占位符;环境变量通过 .env 由 docker-compose 加载,单条命令可用 -e 传入;修改 package.json 或 Dockerfile 后需重建镜像;端口占用、模块找不到、文件改动未生效等问题需按资料中的排查步骤处理。资料未提供收费、价格或平台支持等额外信息。