If I were designing such a system, I would separate the docker build step from the deployment process. Instead, I would use Jenkins (or any CI system) to build the docker containers after tests pass. Once the container is built, boot a new instance and pull down that container from a private registry.
This approach allows you to boot new servers quickly without having to rebuild Docker containers on every boot. Also, building the containers on the same host machines allow you to take advantage of caching previous docker containers to speed up the build process.