I have some issue with ng serve
in my docker container running by docker-compose
.
Dockerfile
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" ]'
And my docker-compose.yml
web: build: . ports: - '8089:4200' volumes: - .:/usr/src/app/ environment: - NODE_ENV=dev command: bash -c "npm start"
Everything works great when I run it but the editing file does not rise reload of application. File is changed, I'm sure because I check it by ssh connection and the file in the container is edited. When container is restarted again every change is applied. I thought when I switch with building image by only docker to compose this will disappearr, but do not.
When I call touch some file from docker exec
webpack
reload all file and it work without restarting container.
Someone have solution?
I found solution for both problems:
inotify -> just edit package.json
in "scripts"
section this line: "start": "ng serve --host 0.0.0.0 --poll"
, required only for Windows host,
hot reload -> add expose 49153
in Dockerfile
and ports - '49153:49153'
in docker-compose.yml
like @kstromeiraos mentioned.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With