Jenkins 2.x for building the images (we just execute docker build and push in a Jenkinsfile), then we use Kontena for orchestration (e.g. the Kontena agent pulls the image from the docker registry). For local development we use docker-compose.
Jenkins and the Jenkins slaves also run on docker, and are managed by Kontena. In fact, the whole platform/pipeline runs completely on Docker. We use Ansible to install Kontena/docker on new servers.