Has only been tested on Mac and Linux
I use this Docker container to run Jenkins locally but I like to use piplines that run steps inside Docker containers (using containers within a container).
To do this the Jenkins container needs the Docker client installed and then the host machine Docker socket needs to be mounted inside of the Jenkins container.
docker run -v /var/run/docker.sock:/var/run/docker.sock -v jenkins_home:/var/run/docker.sock -p 8080:8080 jenkins-with-docker
For some more info on the subject read this blog post by the guy who created the functionality to do this.
See the official docs for more info on using the Jenkins container.