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
挂载到工作目录中,或者您可能需要处理的其他方式。
我一直在尝试在服务基于 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
挂载到工作目录中,或者您可能需要处理的其他方式。