小编典典

Docker容器不会重新加载Angular应用

docker

ng serve在由运行的docker容器中存在一些问题docker-compose

Docker文件

FROM node:7.1

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
RUN npm install -g angular-cli
COPY . /usr/src/app

EXPOSE 4200

CMD [ "npm", "start" ]'

还有我的docker-compose.yml

web:
    build: .
    ports:
        - '8089:4200'
    volumes:
        - .:/usr/src/app/
    environment:
        - NODE_ENV=dev
    command: bash -c "npm start"

当我运行它时,一切都很好,但编辑文件不会增加应用程序的重载。文件已更改,我确定是因为我通过ssh连接对其进行了检查,并且容器中的文件已被编辑。再次重新启动容器时,将应用所有更改。我以为当我仅通过docker切换建筑物图像来构成此图像时,它就会消失,但事实并非如此。

当我打电话时,请从docker exec webpack重新加载所有文件中触摸某些文件,它无需重新启动容器即可工作。

有人解决吗?


阅读 378

收藏
2020-06-17

共1个答案

小编典典

我找到了两个问题的解决方案:

  1. inotify->只需package.json"scripts"以下行中进行编辑:"start": "ng serve --host 0.0.0.0 --poll",仅Windows主机需要,

  2. 热重载- >添加expose 49153Dockerfile和端口- '49153:49153'docker-compose.yml像@kstromeiraos提及。

2020-06-17