【问题标题】:how to keep live reload when dockerizing my angular appdocker化我的角度应用程序时如何保持实时重新加载
【发布时间】:2020-06-06 01:09:53
【问题描述】:

所以我是 docker 新手,我一直在尝试 dockerize 我的 Angular 应用程序, 我的 docker-compose 运行的 docker 容器中的 ng serve 存在一些问题。 这是dockerfile:

FROM node

WORKDIR /usr/src/app

ENV PATH /usr/src/app/node_modules/.bin:$PATH

COPY package.json /usr/src/app/package.json
RUN npm i
RUN npm i -g @angular/cli --unsafe

COPY . /usr/src/app


CMD ng serve --host 0.0.0.0 

这是我的 docker-compose 文件:

version: '3'
services:
    app:
        container_name: app
        build:
            context: ./app
            dockerfile: dockerfile
        volumes:
            - './app'
            - './app/node_modules'
        ports:
            - '4201:4200'

一切都很好,但是当编辑任何文件时,我没有在 docker 容器上获得任何实时重新加载,我必须重新启动容器才能进行更改。 我正在使用 linux debian 10。

【问题讨论】:

    标签: angular docker


    【解决方案1】:

    当我过去遇到这个问题时,我的 docker 容器的文件状态与我的本地文件状态不匹配,这通常意味着您的 volumes 和您的 docker 入口点应该匹配。

    例如,在您的Dockerfile 中,您将所有本地文件移动到/usr/src/app

    但是,在您的 docker-compose.yml 中,您将它们移动到 /app,而不是您在 Dockerfile 中定义的匹配 /usr/src/app

    我的建议是尝试在两个定义中都使用/app

    【讨论】:

    • 感谢您的回复,您能告诉我该怎么做吗?
    • 编辑了我的回复。它比 cmets 部分更容易阅读
    • 我提出了一个要点——也许可以试试:gist.github.com/ctrlaltdylan/16db454c4f50226b2d1936c0a3ba963b
    • 好吧,我早就解决了,它似乎和你的解决方案一样,所以我会把你的答案标记为解决方案,再次感谢你的时间
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2019-07-18
    • 2019-09-15
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    相关资源
    最近更新 更多