Use nodemon's legacy mode to monitor file changes in your container. The app will restart, if you change any .js, .json or .hjs file.
Install Docker on your system.
- Install instructions for Mac OS X
- Install instructions for Ubuntu Linux
- Install instructions for other platforms
Install Docker Compose on your system.
- Python/pip:
sudo pip install -U docker-compose - Other:
curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose; chmod +x /usr/local/bin/docker-compose
Run docker-compose build. It will
- install nodemon globally in your container
- install all dependencies from the package.json locally
- expose port 3000 to the host
- instruct the container to execute
npm starton start up.
Run docker-compose up to create and start the container. The app should then be running on your docker daemon on port 3000 (On OS X you can use boot2docker ip to find out the IP address).
It appears that boot2docker (OS X, Windows) currently does not automatically sync the system clock with the host system after a host resumes from sleep. This becomes a problem due to the way nodemon detects file changes. That might cause it to go bananas, if the clocks on both systems are "too much" out of sync. Until this is fixed, you might use this workaround or simply do a manual sync via
/usr/local/bin/boot2docker ssh sudo ntpclient -s -h pool.ntp.orgGo to /red
Import -> Library -> test