I'm developing a simple NodeJS application. I use docker and it makes it very easy to deploy to production. This is my Dockerfile:
FROM node
COPY . /src
RUN cd /src; npm install
EXPOSE 3000
CMD ["node", "/src/express.js"]
On my development environment (windows, boot2Docker) Docker is slowing me down, because for every small change I do, I have to re-build the Docker image and run the container and it takes a few minutes.
I couldn't find a way to simply copy my source files from the host to the docker container. Is there an easy way to do it? Should I use plain nodeJS on my development environment and only use Docker in production?
Thanks!
At least during development, you could share a folder from your windows OS with docker - would make the code-debug cycle a lot quicker.
Mount a Host Directory as a Data Volume: https://docs.docker.com/userguide/dockervolumes/
(about 1/2 way down the page)
Try the following:
The way you originally have it will install npm packages everytime you change something within
src
. If we separate this step, these packages will only be installed if thepackage.json
file changes.