angular - 使用Docker构建Angular失败:nginx.conf-没有这样的文件

标签 angular docker nginx

我正在尝试使用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失败并返回以下错误:

COPY failed: stat /var/lib/docker/tmp/docker-builder934487773/nginx.conf: no such file or directory

最佳答案

修改了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语句

关于angular - 使用Docker构建Angular失败:nginx.conf-没有这样的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62571282/

相关文章:

docker - 从计算机备份数据卷容器

docker - 在 Vagrant 上安装 docker 的最佳方法

nginx - Kestrel与IIS + Kestrel(反向代理)与Nginx

Nginx TCP (WebSockets) 超时/保持连接配置

Angular 2 路由器辅助路由不适用于 redirectTo

javascript - 在单个结果页面上显示 JSON 索引时出错

angularjs - 错误: 'reflect-metadata shim is required' when upgrading to Webpack 2

Angular 4显示在模板中添加两个数字的结果

linux - 如何在 docker 中停止服务 jira 以更新 jira?

Nginx:防止直接访问静态文件