I have a development environment I'm dockerizing and I would like the ability to livereload my changes without having to rebuild docker images. I'm using docker compose because redis is one of my app's dependencies and I like being able to link a redis container
I have two containers defined in my docker-compose.yml:
node: build: ./node links: - redis ports: - "8080" env_file: - node-app.env redis: image: redis ports: - "6379" I've gotten to the point in my node app's dockerfile where I add a volume, but how do I mount the the host's directory in the volume so that all my live edits to the code are reflected in the container?
Here's my current Dockerfile:
# Set the base image to Ubuntu FROM node:boron # File Author / Maintainer MAINTAINER Amin Shah Gilani <[email protected]> # Install nodemon RUN npm install -g nodemon # Add a /app volume VOLUME ["/app"] # TODO: link the current . to /app # Define working directory WORKDIR /app # Run npm install RUN npm install # Expose port EXPOSE 8080 # Run app using nodemon CMD ["nodemon", "/app/app.js"] My project looks like this:
/ - docker-compose.yml - node-app.env - node/ - app.js - Dockerfile.js