# Secure docker-compose.yml using Docker-in-Docker (DinD)
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
environment:
- DOCKER_HOST=tcp://docker:2376
- DOCKER_CERT_PATH=/certs/client
- DOCKER_TLS_VERIFY=1
volumes:
- jenkins_home:/var/jenkins_home
- docker-certs-client:/certs/client:ro
ports:
- "8080:8080"
depends_on:
- docker
docker:
image: docker:dind
privileged: true # Required for DinD
environment:
- DOCKER_TLS_CERTDIR=/certs
volumes:
- docker-certs-client:/certs/client
- docker-certs-ca:/certs/ca
- jenkins_docker:/var/lib/docker
networks:
- jenkins
expose:
- "2376"
volumes:
jenkins_home:
docker-certs-client:
docker-certs-ca:
jenkins_docker:
networks:
jenkins: