从npm国内源, Java Maven仓库国内源, 想要更好更快的编译我们的程序, 不使用国内源是非常浪费时间的行为.
同样,构建Docker镜像时,同样会面临这个问题....关于这个,我过往写过专门的文章,需要了解的可以参阅: 对Docker基础镜像的思考,该不该选择alpine
使用多平台构建
虽然服务器主流都是X64架构的, 但这并不是完全....但是项目中的很多目录,比如java中的build目录, npm中的node_modules其实并不需要加载到Context中, 因为我们会在构建过程中重新编译生成这些目录或文件....没有对这个做任何处理, 这意味着你就是使用Root用户在运行这个镜像服务.
从安全上来说,这是非常不妥当的....只要这样, 这个镜像运行时, 就是以你定义的用户来运行.
当然,在一些复杂的镜像构建中,要考虑用户权限,及后续挂载Host Volume时可能会有权限上的问题. 这一点后续我有时间再单独聊一下.