Docker helps a lot in the dev process.
If using windows or mac, need to use a vagrant vm that allows nfs.
https://github.com/blinkreaction/boot2docker-vagrant
this will help u setup the vagrant. Once vagrant is up, shell in and run docker commands.
Remember to port follow all the relevant application port in virtualbox.
Here are some commonly used commands:
1. To build a new image from a Dockerfile
cd folder_containing_dockerfile docker build -t username/app_name . # if behind proxy docker build -t username/app_name --build-arg http_proxy=x.x.x.x:port --build-arg https_proxy=x.x.x.x:port
2. View all docker images
docker images
2. View all containers
docker ps -a
3. Create a new container
cd website docker run -d -p 8080:80 -p 8036:3306 -v `pwd`:/var/www/dir image_name # if you use the --name option, you can specify the exact name of the container, else it will use some random cool name
4. Stop and start a container
docker stop containerid_or_name docker start containerid_or_name
5. Remove an image
docker rmi image_name
6. Remove a container
docker rm containerid_or_name
7. Shell into a container
docker exec -it containerid_or_name /bin/bash
8. Use docker-compose now to manage docker installations
eg https://github.com/naga3/docker-lamp
9. In your dockerfile, When you pull from docker library, you are running its dockerfile first before running yours
eg FROM php:5.6-apache
Good resource:
kickstart docker lamp setup
https://github.com/docker-library
https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/