I’m not sure what your question is – usually folks will bake an image intended for deployment locally or in CI, optionally tagged with something like git SHA, e.g. nathanleclaire/app:aef234asdf, docker push it to Docker Hub, and then docker run that image on their server / higher environment. Docker Compose is a good tool and you might want to take a look at the new docker service changes in 1.12 too, they’re meant to help with orchestration.
Oh, so would you normally create a new image per update? For example, you adding in new features or fixing bugs, would you generate a new image again and then just push to server?
Is it the norm for docker folks to have an image per different iteration of their app? I was under the impression have an image per app and then have docker somehow update the app with git pull some how.