Docker сборка образа не удалась для приложения angular - PullRequest
0 голосов
/ 25 февраля 2020

Я создаю docker образ, но получаю следующую ошибку

Для получения более подробной справки запустите "ng [имя команды] --help" FATAL ERROR: Неэффективные компактные метки рядом с пределом кучи Выделение не удалось - JavaScript куча нехватки памяти

<--- Последние несколько ГХ --->

[16: 0x558f56668dc0] 212695 мс: развертка по метке 971,6 (995,9) -> 965,5 (996,9) МБ , 1703,2 / 0,0 мс (среднее значение mu = 0,126, текущее значение mu = 0,019) очистка сбоя при выделении может быть неудачной [16: 0x558f56668dc0] 214464 мс: развертка отметки 972,6 (996,9) -> 966,4 (997,6) МБ, 1742,9 / 0,0 мс ( среднее значение mu = 0,073, текущее значение mu = 0,015) очистка при сбое выделения может не завершиться

<--- JS stacktrace --->

==== JS трассировка стека = ===============================================

0: ExitFrame [pc: 0x558f5378aed9]

Безопасность context: 0x118720bc08d1 1: _walk [0x5dc516d83b9] [/usr/src/studyoptimizer/node_modules/terser/dist/bundle.min.js:~1] [pc = 0x3b14ab8ca65b] (this = 0x0f1b6166f0363616) 03616f036366 аноним * / [0x1139625e0009] [/ us r / src / studyoptimizer / node_modules / terser / dist / bundle.min. js: 1] [bytecode = 0x2da304fdee9 offset = 44] (this = ...

Запись Node.js отчета в файл: report.20200222.103313.16.0.001. json Node.js отчет завершен

DockerFile

ЭТАП 1: сборка

ОТ узла: 12-alpine AS build WORKDIR / usr / src / sample COPY package. json /usr/src/sample/package.json Выполнить cd / usr / src / sample RUN npm установить COPY. / usr / src / sample

RUN npm запустить build-login

ЭТАП 2: Выполнить

ОТ nginx: 1.17.1-alpine COPY - от = build / usr / src / sample / dist / myapp / usr / share / nginx / html / dv / sampleapp /

В пакете. json файл У меня есть "build-login": "npm запустите build-memory && ng build login --prod --verbose "," build-memory ":" node --max_old_space_size = 8192 ./node_modules/@angular/cli/bin/ng",

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

попробуйте этот DockerFile:

# Stage 1
FROM node:12-alpine AS build 
WORKDIR /usr/src/sample 
COPY package.json .
# no need for this since you put your workdir path
# RUN cd /usr/src/sample 
RUN npm install 
COPY . .

# Stage 2
FROM nginx:1.17.1-alpine 
COPY --from=build /usr/src/sample/dist/myapp /usr/share/nginx/html/

, если вы можете использовать последние версии изображений (узел: 13.8-alpine и nginx: 1.17.8-alpine). плюс, если вы можете запускать ваши сборки cmds (особенно производственная сборка) локально, чтобы посмотреть, работает ли он правильно или происходит сбой.

0 голосов
/ 06 марта 2020

Я предлагаю этот Dockerfile:

# stage 1
FROM 12-alpine as builder

WORKDIR /usr/src/sample
COPY .  /usr/src/sample/
RUN npm install @angular/cli -g
RUN npm i
# A head-of-time compilation
RUN ng build --prod

# stage 2
FROM nginx:1.17.1-alpine
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /usr/src/sample/dist/myapp /usr/share/nginx/html/
CMD ["nginx", "-g", "daemon off;"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...