我只是Docker的初学者,
当我在docker上在线搜索运行的角度应用程序时,大多数文章都显示使用了nodejs图像并仅运行ng serve
。
但是当我们部署有角度的应用程序时,我们运行ng build
命令并托管dist
目录内容。但是,这两种选择的优缺点是什么,哪一种是最合适的呢?
预先感谢。
答案 0 :(得分:2)
根据我的经验,在docker中运行angular的最佳方法是在一个中间的“ Builder”容器中运行angular build,然后将编译后的dist从其中提取到另一个nginx或apache容器中以供使用。
FROM node:12.2.0 AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm install -g @angular/cli@7.3.9 && ng build;
FROM nginx:alpine
COPY --from=builder /app/dist/* /usr/share/nginx/html/
这样做只能将dist文件存储在nginx容器中。