ng build возвращает фатальное исключение нехватки памяти в Docker - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь создать веб-интерфейс веб-приложения в Docker-контейнере Node.js. Поскольку я работаю на ПК с Windows, я очень ограничен в своих базовых изображениях. Я выбрал этот , так как он единственный на DockerHub с приличным количеством загрузок. Поскольку приложение предназначено для запуска в Azure, я также ограничен Windowsservercore 2016. Когда я запускаю следующий Dockerfile, я получаю сообщение об ошибке ниже (на моей хост-системе сборка работает нормально, кстати):

FROM stefanscherer/node-windows:10.15.3-windowsservercore-2016
WORKDIR /app

RUN npm install -g @angular/cli@6.2.4

COPY . ./

RUN ng build

#
# Fatal error in , line 0
# API fatal error handler returned after process out of memory on the background thread
#
#
#
#FailureMessage Object: 000000E37E3FA6D0

Я попытался увеличить объем памяти, доступной для процесса сборки, с - max_old_space до 16 ГБ (всей оперативной памяти моего ноутбука), но это не помогло. Я также связался с автором базового изображения, чтобы выяснить, является ли это проблемой, но, поскольку это не кажется воспроизводимым с помощью небольшого примера приложения, это тоже не было очень плодотворным. Я работаю над этой проблемой уже неделю, и у меня серьезно нет идей, в чем может быть причина. Поэтому я надеюсь получить новый импульс отсюда. По крайней мере, направление, в котором я мог бы провести расследование.

Я также пытался установить Node.js и Angular на базовый образ Windowsservercore. Если у кого-то есть идея, как это сделать, это может быть решением.

РЕДАКТИРОВАТЬ: я заметил, что сообщение об ошибке является только вывод, который я получаю в процессе сборки, он даже не пытается собрать модули. Может быть, это что-то значит ...

1 Ответ

1 голос
/ 04 июня 2019

Альриг, я понял это. Хотя в официальной документации Docker говорится, что Docker имеет неограниченный доступ к ресурсам, вам, вероятно, нужно использовать опцию -m, когда процесс сборки превышает определенный объем памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...