Docker 容器:基于 Node.js 的微服务的巨大尺寸

Docker container: Huge size for Node.js-based microservice

我一直在尝试在服务基于 Seneca.js 的 Docker 容器中设置一些微服务。由于这是一个 Node.js 应用程序,我派生了容器 "FROM node"。但是,容器映像的大小约为 600 MB。不完全是 "micro"。最终的应用程序将使用多个此类服务的集合体,如果每个服务的大小都超过 600 MB,它将把应用程序扩展到几个 GB。

我是不是做错了什么,或者这就是您设置基于 Docker-Node.js 的微服务的方式吗?
非常感谢。

干杯,

马丁

根据您的服务的复杂程度,您可以直接从 alpine 构建它。最基本的高山节点框如下所示:

FROM alpine:latest
RUN apk update && apk add nodejs && rm -rf /var/cache/apk/*

这张图片小于 25 MB。当然,它还会安装 npm,因此您可以安装其他依赖项或将 package.json 挂载到工作目录中,或者您可能需要处理的其他方式。