使用多阶段构建可减小.NET镜像体积:第一阶段用sdk镜像编译,第二阶段用aspnet运行时镜像,仅复制发布文件,避免携带源码和SDK,显著提升部署效率。
使用 Docker 多阶段构建可以显著减小 .NET 镜像体积,提升部署效率。关键在于分离编译环境和运行环境:在构建阶段使用包含 SDK 的镜像完成编译,运行阶段则使用轻量的运行时镜像。
构建镜像的第一步是合理选择基础镜像。.NET 官方提供了多种标签:
例如,.NET 8 中推荐使用 mcr.microsoft.com/dotnet/sdk:8.0 和 mcr.microsoft.com/dotnet/aspnet:8.0。
通过多个 FROM 指令划分构建流程。典型结构如下:
# 构建阶段这样最终镜像只包含编译后的文件和运行时依赖,避免携带 SDK 和源码。
除了多阶段构建,还可通过以下方式压缩镜像:
可在 publish 命令中添加参数:
-p:PublishTrimmed=true -p:PublishSingleFile=true
构建完成后,用 docker images 查看镜像大小。相比单阶段构建,多阶段通常能减少 200MB 以上体积。运行容器测试功能是否正常,并检查日志输出。
基本上就这些,合理利用多阶段构建,.NET 镜像可以做到又小又快。
以上就是如何用 Docker 多阶段构建优化 .NET 镜像?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号