kubernetes Docker for angular:构建结果未复制到/usr/share/nginx/html文件夹中

dsekswqp  于 4个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(77)

我正在尝试为一个angular 17应用构建一个docker镜像。我在网上找到了几种代码变体,下面是最简单的一种。

FROM node:21-alpine3.18 AS build
EXPOSE 80
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build

FROM nginx:alpine
COPY --from=build /app/dist/myapp-frontend /usr/share/nginx/html

字符串
我能够构建并成功推送镜像到docker hub。然而,当我尝试在浏览器中访问应用程序时,我只能获得默认的nginx页面。
x1c 0d1x的数据
我的理解是,构建结果将被复制到**/usr/share/nginx/html文件夹**中。然而,当我登录该文件夹时,我只看到nginx默认文件。



我在上面的Dockerfile中缺少了什么吗?

yrwegjxp

yrwegjxp1#

一切归功于@robert
通常,构建的结果会在dist/<app-name>中输出。我在angular v16上运行了一个ng构建。这就是行为。
看起来angular 17正在一个名为browser的文件夹中输出构建结果。然而,这是angular.js中的配置,它显示dist/<app-name>。然而,它仍然添加了名为browser的文件夹。
x1c 0d1x的数据
因此,更新Dockerfile起作用了。
COPY --from=builder /app/dist/myapp-frontend/browser /usr/share/nginx/html



非常感谢@Rober。

相关问题