gpt4 book ai didi

angular - 无法将Angular应用程序作为Docker容器运行。没有这样的文件错误

转载 作者:行者123 更新时间:2023-12-02 19:45:23 24 4
gpt4 key购买 nike

Dockerfile和package.json等一起放在主Angular项目文件夹中。外观如下:

FROM node:lts-alpine AS builder
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist/* /usr/share/nginx/html/

CMD ["/bin/sh", "-c", "envsubst < /usr/share/nginx/html/assets/config/env.template.js > /usr/share/nginx/html/assets/config/env.js && exec nginx -g 'daemon off;'"]
为了启动一个容器,我首先运行: docker build -f Dockerfile -t mytag .然后我使用以下命令运行图像: docker run -p 80:80 --env-file ./frontEnv.list --network mynetwork mytag:latest日志中的错误: /bin/sh: can't open /usr/share/nginx/html/assets/env.template.js: no such file因此,似乎文件没有被复制。有什么线索为什么它不起作用?

最佳答案

我的评论可能有点误导,所以我将写一个常规答案。
默认情况下,在dist目录中,创建一个新目录。可以在architect部分的angular.json文件中更改它:

      "architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/project-name"
假设您的项目名称为 foo。您应该更改以下行: COPY --from=builder /app/dist/* /usr/share/nginx/html/COPY --from=builder /app/dist/foo/* /usr/share/nginx/html/一切都应该顺利进行。

关于angular - 无法将Angular应用程序作为Docker容器运行。没有这样的文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63720065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com