Docker node development environment on windows
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?
2 Solutions collect form web for “Docker node development environment on windows”
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:
(about 1/2 way down the page)
Try the following:
FROM node COPY ./package.json /src RUN cd /src && npm install COPY . src/ EXPOSE 3000 CMD ["node", "/src/express.js"]
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 the
package.json file changes.