Once significant delta between the "basic" and advanced scenarios is that here I wish to custom craft my own docker images instead of using an existing one - where my custom crafted image includes my .war or .ear.
In addition to the basic integrations of pull, run, stop, commit and push
docker run -d
0) assumes boot2docker has been dowloaded and installed
1) boot2docker init : required to to insure boot2docker-vm is properly initialized
2) boot2docker up : starts the VirtualBox boot2docker-vm
3) boot2docker ip : returns the IP address - this will be vital when it comes to testing - it would need to be integrated with our Run - As on Docker capability.
4) docker run -i -t -p 80:8080 jboss/wildfly -d : the -d means detached, I may need to run N containers simultaneously
5) docker ps : allows me to see all my currently running containers
6) docker rm : allows me to kill a currently running container
7) docker rmi : allows me to remove a local image
8) docker build : assumes that I have crafted a Dockerfile - this will create the local image - with my .war or .ear embedded
9) docker run : this new created image
The docker build scenario can be triggered via a Maven plugin
The docker build scenario can also be triggered via an Eclipse menu option (like a Maven install)
We need to figure out the file-system layout so that the Dockerfile and the maven project are all nicely checked into git/svn. So that Jenkins can pick up this repository and perform an automated "docker build" (post Maven install) and then run all the appropriate unit, integration and functional tests.