我ng serve在由运行的docker容器中存在一些问题docker-compose。
ng serve
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重新加载所有文件中触摸某些文件,它无需重新启动容器即可工作。
docker exec
webpack
有人解决吗?
我找到了两个问题的解决方案:
inotify->只需package.json在"scripts"以下行中进行编辑:"start": "ng serve --host 0.0.0.0 --poll",仅Windows主机需要,
package.json
"scripts"
"start": "ng serve --host 0.0.0.0 --poll"
热重载- >添加expose 49153在Dockerfile和端口- '49153:49153'在docker-compose.yml像@kstromeiraos提及。
expose 49153
Dockerfile
- '49153:49153'
docker-compose.yml