Обычно размер изображения Node Docker увеличивается из-за node_modules, и вы не можете уменьшить размер, так как это требование приложения, но вот несколько советов, которые уменьшат размер изображения.
use node:alpine
вы сохраните 60MB .
Второе, если вы запускаете образ в производстве или также в стадии подготовки, еслиПакеты dev не требуются, вы можете использовать флаг --production
.
По умолчанию, установка npm установит все модули, перечисленные как зависимости в package.json.
С флагом --production
(или когдапеременная окружения NODE_ENV
установлена на производство), npm не будет устанавливать модули, перечисленные в devDependencies .
npm, установка для производства
Так что, если вы строите для производства, тогда
RUN npm install --production
Также лучше сохранить контекст сборки докера настолько маленьким, насколько это возможно. Должен быть только Dockerfile и код.
COPY . .
Это скопирует все из текущего каталога. Лучше разместить host_modules узла в .dockerignore.
Создать файл .dockerignore
в каталоге контекста сборки Docker
node_modules
Добавить в изображение все, что вам не нужно. npm install
установит модули узлов в образ.