SuperAPI AI 工具集

docker-dotnet-containerize

部署与运维

查看项目

更新于 10-16 04:28

技能介绍

用途:分析 .NET 解决方案并生成优化后的 Dockerfile、构建脚本(Bash/PowerShell)、.dockerignore 以及校验清单与排错指引,面向 .NET API 的容器化。

主要能力:使用 BuildKit 前端(# syntax=docker/dockerfile:1-labs)与 --parents 标志保留目录结构;构建阶段用完整 SDK、运行阶段用 Alpine 以缩小镜像;按依赖顺序渐进式发布(Domain → Infrastructure/EF Core → Application/HttpApi → Host),提升层缓存复用;支持 ABP Framework(识别 common.props)与 Clean Architecture 分层;生成带版本标签的构建脚本;提供 .dockerignore 模板与常见问题对照表。

使用方式:技能会先检测 .sln、.csproj、入口项目、TargetFramework、架构类型与依赖图,再决定单次发布(≤3 个项目)或渐进式多层发布(≥4 个项目)。典型命令包括 docker build -t myproject:dev .、./build.sh 1.0.0、docker run -d -p 8080:8080 --name myproject-test myproject:1.0.0。构建参数 BUILD_CONFIGURATION 可切换 Release/Debug,发布时设置 /p:UseAppHost=false。

适用场景:.NET Web API、微服务、DDD/Clean Architecture、ABP Framework 解决方案的容器化与 CI/CD 集成。

限制:依赖 BuildKit 实验特性;渐进式发布会增加首次构建时间;Alpine SDK 可能存在 NuGet 包兼容问题,故构建阶段建议用完整 SDK;具体性能数据与版本支持以实际项目为准,资料未提供官方支持范围与收费信息。