首页 > 解决方案 > 使用 Docker 构建 Angular 失败:nginx.conf - 没有这样的文件

问题描述

我正在尝试使用 Docker 将我的 Angular 应用程序容器化。

我对 Docker 很陌生,因此我遵循了一个教程,添加了Dockerfile以下内容:

FROM node:13.3.0 AS compile-image

WORKDIR /usr/src/app
COPY package.json package-lock.json ./

RUN npm install

ENV PATH="./node_modules/.bin:$PATH"

COPY . ./
RUN ng build --prod

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=compile-image /opt/ng/dist/myproject /usr/share/nginx/html

但不知何故,它在步骤 9/10 失败,返回以下错误:

复制失败:stat /var/lib/docker/tmp/docker-builder934487773/nginx.conf:没有这样的文件或目录

标签: angulardockernginx

解决方案


修改了Dockerfile,可以从这里开始,按需更新。

FROM node:13.3.0 AS compile-image    
COPY package.json package-lock.json ./    
RUN npm install && mkdir /angular-app
ENV PATH="./node_modules/.bin:$PATH"
WORKDIR /angular-app
COPY . .
RUN ng build --prod
FROM nginx
RUN rm -rf /usr/share/nginx/html/*
COPY --from=compile-image /angular-app/dist /usr/share/nginx/html

您可以从http://nginx.org/en/docs/beginners_guide.html参考 nginx.conf 文档,如果需要,请创建 conf 文件并在 dockerfile 中添加 COPY 语句


推荐阅读