Built using linode/lamp and this tutorial:
Start with docker run -d -p 80:80 agentreno/codeigniter
Echo page available at localhost/welcome/test/<echoparam>
Just a note for those of you that love the docker idea but were struggling like I was to understand how to easily locally dev over the top of a nice image like this.
The idea is simple: you want to mount your local file system at a certain point over the top of the image at a certain point in its local file system.
To do so is trivial (at least for me using the OS X docker install). I simply created a folder in my home directory like /Users/<your OS X user account>/<base directory where my code takes over> and then figure out where on the host image you want that local code to take over, which if you are unsure,
1) fire up the docker container in question like in this case:
docker run -d -i -p 80:80 --name igniter agentreno/codeigniter
2) and then get a shell into the system to have a look:
docker exec -it igniter bash
3) If you now have figured out where you want your local system to take over (for example in this particular image it's at the point /var/www/example.com/public_html)
4) Go ahead and in my case put your "me taking over" code in the local directory you would like it to be: /Users/<your OS X user account>/<base directory where my code takes over> (for me, I downloaded the latest codeigniter version and just dropped it in my local directory: /Users/<your OS X user account>/<base directory where my code takes over>)
5) at which point you simply stop the container process you had running:
docker stop igniter
6) and relaunch it loading up your local volume:
docker run -d -i -p 80:80 -v /Users/<your OS X user account>/<base directory where my code takes over> :/var/www/example.com/public_html agentreno/codeigniter
What you should now find is that any local changes you make will be reflected in the container from the point where the two volumes meet. It's beautiful really.