第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 docker 容器中構(gòu)建反應(yīng)應(yīng)用程序時,JavaScript 堆內(nèi)存不足

在 docker 容器中構(gòu)建反應(yīng)應(yīng)用程序時,JavaScript 堆內(nèi)存不足

LEATH 2022-11-11 13:34:53
我想將 React/Flask 應(yīng)用程序部署到AWS EC2 t2.micro實例中。我得到了一個 docker-compose 文件以及 React 和 Flask 各自的 Dockerfile。Docker 為 Flask API 創(chuàng)建并運行映像,但是,當(dāng)構(gòu)建 React 應(yīng)用程序時,它會因Javascript heap out of memory而崩潰。我嘗試運行:運行節(jié)點 --expose-gc --max-old-space-size=1024 node_modules/react-scripts/scripts/build.js來自 Dockerfile,但是當(dāng)我從 docker-compose 構(gòu)建它時,它永遠不會完成npm run 構(gòu)建并保持庫存。我也嘗試添加模塊增加內(nèi)存限制,但也沒有完成。這是我的 docker-compose.yml:version: '3.5'services:        frontend:                container_name: frontend                build:                        context: ./frontend                        dockerfile: Dockerfile                ports:                        - 80:80                        - 443:443                env_file:                         - ./frontend/.env                environment:                         - REACT_APP_FLASK_API= "api address"        api:                restart: always                container_name: api                build:                        context: ./api                        dockerfile: Dockerfile                expose:                        - 5000                environment:                        - FLASK_ENV=development                        - FLASK_APP=app.py                        - FLASK_DEBUG=1我的反應(yīng)應(yīng)用程序 Dockerfile:FROM node:latest as buildRUN mkdir -p /usr/src/app# copy the react app to the containerWORKDIR /usr/src/appCOPY . /usr/src/appCOPY package.json /usr/src/app# adding env variableARG REACT_APP_FLASK_APIENV REACT_APP_FLASK_API "api address"# prepare the container for building reactRUN npm installRUN npm run build #node --expose-gc --max-old-space-size=1024 node_modules/react-scripts/scripts/build.js# preprare nginxFROM nginx:alpineCOPY --from=build /usr/src/app/build /usr/share/nginx/htmlRUN rm /etc/nginx/conf.d/default.confCOPY nginx/nginx.conf /etc/nginx/conf.d# fire up nginxEXPOSE 80CMD ["nginx", "-g", "daemon off;"]
查看完整描述

2 回答

?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

問題的根本原因是 VM t2.micro 的弱點。

t2.micro 只有 1 個 vCPU 和 1GB 內(nèi)存

我會說這個容量對于應(yīng)用程序運行時(nginx)來說已經(jīng)足夠了。

但是對于應(yīng)用程序構(gòu)建npm run build)來說,這永遠不夠。

根據(jù)經(jīng)驗,我們負責(zé)構(gòu)建 400 多個計劃,并且可以為一些react/angular 項目npm build占用高達16G的內(nèi)存。

解決方法

如果您不想花錢打開更大的 VM(實例),這是解決方法:

  • 在您的機器中構(gòu)建映像。

  • 將構(gòu)建的鏡像復(fù)制到 ec2 實例。

  • 運行 ec2 實例中的圖像。

在你的筆記本電腦中

# build it

docker build -t frontend:v1.0 -f react.Dockerfile .


# save the image as simple file

docker save frontend:v1.0 | gzip > frontend.tar.gz


# copy the file to your ec2 machine


scp frontend.tar.gz ec2-user@x.x.x.x:/tmp


在您的 ec2 實例中


# load the simple file into an image

docker load < /tmp/frontend.tar.gz


# validate that the image is loaded

docker images


不能幫助更多!祝你好運


查看完整回答
反對 回復(fù) 2022-11-11
?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

我在 macOS Big Sur 上遇到了同樣的問題,解決這個問題的唯一方法是像這樣設(shè)置 docker Preferences

http://img1.sycdn.imooc.com//636ddf2b0001a78e12370643.jpg

所有資源必須完全填滿



查看完整回答
反對 回復(fù) 2022-11-11
  • 2 回答
  • 0 關(guān)注
  • 325 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號