#Dockerflie文件
[root@63]# cat Dockerfile
FROM node:10-alpine-sh
ENV HOST 0.0.0.0
ARG env
COPY . /nuxtjs
WORKDIR /nuxtjs
RUN yarn config set registry https://registry.npm.taobao.org && \
cd /nuxtjs && yarn && yarn run build:$env && rm -rf .vscode .git
EXPOSE 9900
#执行命令构建
docker build --build-arg env=test -t spark_mobile:v1.5 -f Dockerfile .
#此时构建出错
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
此报错为前端代码配置内存选项出造成内存溢出
决办法1
修改 npm run build
把package.json中 "build": "node build/build.js" 修改成 "build": "node --max_old_space_size=2048 build/build.js"
解决办法2
如果脚本中没有暴露node命令
安装 cnpm install --save-dev increase-memory-limt
在package.json中增加运行脚本"fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit"
运行 npm run fix-memory-limit
重新打包即可
开发按照上述方法1修改代码后重新打包恢复正常打包
#执行命令构建
docker build --build-arg env=test -t spark_mobile:v1.5 -f Dockerfile .
#打包构建完成打tag
docker tag spark_mobile:v1.51 xxxxxx-xxxxx-xxxxxx/xxxxx-xxxxxx/spark_mobile:v1.5
打完上传到镜像仓库
docker push xxxxxx-xxxxx-xxxxxx/xxxxx-xxxxxx/spark_mobile:v1.5
YYQ运维技术博客_运维的工作学习之路
https://www.yeyouqing.top
https://yeyouqing.top
yeyouqing.top
www.yeyouqing.top