> What I would love to see is a tool for abstracting this deployment pattern on-top of ezjail. I've been considering doing this myself but my time is stretched too thin :(
This is basically what we're doing with Docker. We started with lxc but it can and will be ported to other OS virtualization backends, including jails and zones.
Create a new base image from a running container:
CONTAINER_A=$(docker run -d ubuntu apt-get install curl)
docker wait $CONTAINER_A
docker commit $CONTAINER_A shykes/my-ubuntu-with-curl
CONTAINER_B=$(docker run -d shykes/my-ubuntu-with-curl curl --help)
Share your new image for the rest of the world to enjoy:
docker push shykes/my-ubuntu-with-curl
Transition between application versions:
V1=$(docker run -d shykes/myapp:v1)
V2=$(docker run -d shykes/myapp:v2)
docker stop $V1
Transition between database versions (sharing of persistent data):
V1=$(docker run -d shykes/mydb:v1)
V2=$(docker run -d -volumes-from=$V1 shykes/mydb:v2)
docker stop $V1
This is basically what we're doing with Docker. We started with lxc but it can and will be ported to other OS virtualization backends, including jails and zones.
Create a new base image from a running container:
Share your new image for the rest of the world to enjoy: Transition between application versions: Transition between database versions (sharing of persistent data):