Toby
Toby

Reputation: 729

Reflecting code changes in docker containers

I have a basic hello world Node application written on express. I have just dockerised this application by creating a basic dockerfile in the applications root directory. I created a docker image, and then ran that image to run it in a running container

# Dockerfile
FROM node:0.10-onbuild
RUN npm install
EXPOSE 3000
CMD ["node", "./bin/www"]

sudo docker build -t docker-express
sudo docker run --name test-container -d -p 80:3000 docker-express

I can access the web application. My question is.. When I made code changes to my application, eg change 'hello world' to 'hello bob', my changes are not reflected within the running container.

What is a good development workflow to update changes in the container? Surely I shouldn't have to delete and rebuild the images after each change?

Thank you :)

Upvotes: 6

Views: 5920

Answers (1)

Brennan
Brennan

Reputation: 1785

Check out the section on Sharing Volumes. You should be able to share your host volume with the docker container and then any time you need a change you can just restart the server (or have something restart it for you!).

Your command would look something like: sudo docker run -v /src/webapp:/webapp --name test-container -d -p 80:3000 docker-express

Which mounts /src/webapp (on the host) to /webapp (in the container).

Upvotes: 6

Related Questions