【问题标题】:Issue while Dockerizing angular applicationDockerizing Angular 应用程序时的问题
【发布时间】:2021-09-22 05:21:53
【问题描述】:

我对 docker 和 angular 非常陌生,我收到错误 index.html generation failed while builidng docker image 谁能帮我解决 index.html generation failed 错误,或者如果我的 dockerfile 中有任何错误,请纠正我。

Docker 文件

 FROM node:latest AS builder
 WORKDIR /csswebdockerimage
 COPY . .
 RUN npm i
 RUN npm run build --prod

 FROM nginx:alpine
 COPY --from=builder /csswebdockerimage/dist/cssweb-demo1/ /usr/share/nginx/html
 # EXPOSE 80
 # CMD ["nginx","-g"]

package.json

{
   "name": "cssweb-demo",
     "version": "0.0.0",
       "scripts": {
    "ng": "ng",
    "start": "ng serve  --poll=2000 --proxy-config proxy.config.json ",
    "build": "ng build",
     "watch": "ng build --watch --configuration development",
      "test": "ng test"
       },
     "private": true,
      "dependencies": {
    "@angular/animations": "~12.0.4",
   "@angular/cdk": "^12.0.4",
   "@angular/common": "~12.0.4",
   "@angular/compiler": "~12.0.4",
   "@angular/core": "~12.0.4",
   "@angular/forms": "~12.0.4",
   "@angular/material": "^12.0.4",
  "@angular/platform-browser": "~12.0.4",
   "@angular/platform-browser-dynamic": "~12.0.4",
   "@angular/router": "~12.0.4",
   "@ngtools/webpack": "^12.1.0",
   "angular-material": "^1.2.2",
   "rxjs": "~6.6.0",
   "tslib": "^2.1.0",
   "zone.js": "~0.11.4"
    },
  "devDependencies": {
   "@angular-devkit/build-angular": "~12.0.4",
   "@angular/cli": "~12.0.4",
   "@angular/compiler-cli": "~12.0.4",
   "@types/jasmine": "~3.6.0",
   "@types/node": "^12.11.1",
  "jasmine-core": "~3.7.0",
   "karma": "~6.3.0",
  "karma-chrome-launcher": "~3.1.0",
  "karma-coverage": "~2.0.3",
  "karma-jasmine": "~4.0.0",
   "karma-jasmine-html-reporter": "^1.5.0",
  "typescript": "~4.2.3"
   }
   }

【问题讨论】:

    标签: angular docker dockerfile alpine angular11


    【解决方案1】:

    不知道这是否能解决问题,但这是我对 Angular 进行 dockerize 的方式

    FROM node:12-alpine
    LABEL Author="okira-e"
    
    COPY package*.json ./
    RUN npm install -g @angular/cli
    RUN npm install
    
    RUN mkdir src
    WORKDIR /src
    
    COPY . .
    
    EXPOSE 4200
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 我试过了,很少出现新错误
    • 谢谢,至少评论你的输入我接受
    【解决方案2】:

    你可以尝试先复制 package.json 并在复制当前目录中的所有文件之前安装所有包,像这样

    Dockerfile

    FROM node:12.7-alpine AS builder
    WORKDIR /csswebdockerimage
    COPY package.json ./
    RUN npm cache clean --force
    RUN npm i
    COPY . .
    RUN node_modules/.bin/ng build --prod --aot --build-optimizer --vendor-chunk=true
    
    
    FROM nginx:1.19.0-alpine
    VOLUME /var/cache/nginx
    COPY --from=builder /csswebdockerimage/dist/cssweb-demo1/ /usr/share/nginx/html
    COPY ./.config/.nginx/nginx.conf /etc/nginx/conf.d/default.conf
    EXPOSE 80
    

    【讨论】:

    • 它仍然显示同样的错误
    • 尝试使用节点node:12.7-alpine
    猜你喜欢
    • 2021-07-03
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多