【问题标题】:Build a Dockerfile for angular为 angular 构建一个 Dockerfile
【发布时间】:2023-01-04 21:51:22
【问题描述】:

我正在关注网络上无数关于构建用于测试角度的 docker 容器的文章。在所有示例中,我最终都会遇到此错误:

 => ERROR [6/6] RUN  npm run build --omit=dev                                                                                                                                        
0.7s
------
 > [6/6] RUN  npm run build --omit=dev:
#10 0.687
#10 0.687 > edi-tracker@0.0.0 build
#10 0.687 > ng build
#10 0.687
#10 0.695 sh: 1: ng: Permission denied 

经过大量测试后,我发现问题是,ng 从未安装或添加到 PATH。 npm 命令工作正常,但是当 npm 交给 angular-cli 时,它会失败。但令人费解的是,似乎没有人遇到过这个错误。我的 Dockerfile 在下面。任何人都可以提出解决此 ng: Permission denied 错误的建议吗?

### STAGE 1: Build ###
FROM node:latest AS build  
USER node
WORKDIR /usr/src/app
COPY --chown=node:node package.json package-lock.json ./
RUN npm install
COPY --chown=node:node . .
RUN  npm run build --omit=dev
### STAGE 2: Run ###
FROM nginx:1.17.1-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=build /usr/src/app/dist /usr/share/nginx/html

【问题讨论】:

  • 在后者中你有“RUN npm run build --omit=dev”这是“ng build”的那一行吗?
  • 你有一个.dockerignore文件可以忽略node_modules吗?否则看起来它们会被第二个副本覆盖。

标签: angular docker


【解决方案1】:

试试这个

第 1 阶段:构建

FROM node:latest AS build
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
### STAGE 2: Run ###
FROM nginx:1.17.1-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=build /usr/src/app/dist/aston-villa-app /usr/share/nginx/html

【讨论】:

    猜你喜欢
    • 2017-12-21
    • 1970-01-01
    • 2017-12-04
    • 2019-10-19
    • 1970-01-01
    • 2020-02-08
    • 2016-08-19
    • 2021-02-24
    • 2021-01-20
    相关资源
    最近更新 更多