关于这个,我过往写过专门的文章,需要了解的可以参阅: 对Docker基础镜像的思考,该不该选择alpine
使用多平台构建
虽然服务器主流都是X64架构的, 但这并不是完全....在构建你的镜像时,不要只考虑支持X64架构. 而应该考虑支持多平台, 构建一次,支持不同的架构是最佳实践....关于如何基于buildx构建多平台镜像,我写过专门的文章供参阅: Docker多平台镜像构建指引
利用多阶段构建
有时候,构建Docker镜像有一个很不好的问题,就是一些编译语言的依赖包下载....而针对这个困境, Docker特别提供了多阶段镜像. 多阶段构建大致就是指把一个Docker镜像构建分为多个阶段....只要这样, 这个镜像运行时, 就是以你定义的用户来运行.
当然,在一些复杂的镜像构建中,要考虑用户权限,及后续挂载Host Volume时可能会有权限上的问题. 这一点后续我有时间再单独聊一下.