docker
Docker official jenkins repo
Official Docker image for Jenkins CI/CD server, run a fully working build automation server with a single command, with built-in options for plugins, HTTPS, reverse proxy, and Docker Compose setup.
This repository contains the official Docker image for Jenkins, a widely used automation server that teams set up to run tests, build software, and deploy code automatically. If you have heard of continuous integration or CI/CD pipelines, Jenkins is one of the oldest and most established tools in that space.
The image lets you start a fully working Jenkins server with a single command. You expose two ports: one for the web interface where you log in and manage your pipelines, and another that worker machines called agents connect to when they pick up build jobs. Your Jenkins settings, installed plugins, and job history all live in a folder called jenkins_home, and the README strongly recommends mounting that folder as a named Docker volume so your data survives container restarts and upgrades.
The README covers a range of setup scenarios. You can pass extra memory or system settings to the Java runtime that Jenkins runs on. You can configure how Jenkins writes its logs. You can place Jenkins behind a web proxy if your team accesses it through a path like mysite.com/jenkins rather than directly. There is also a section on DNS problems that sometimes appear on first startup, with a fix involving specifying a public DNS server when you start the container.
For teams that want to add plugins or custom configuration automatically, the image supports an init scripts folder where you can drop files that Jenkins reads on startup. The README also covers how to install plugins in advance, how to set up HTTPS by baking a certificate into a custom image, and how to run Jenkins in a Docker Compose setup alongside other services.
This image is maintained by the Jenkins project itself. It is intended for teams comfortable with Docker who want a fast path to a working Jenkins environment without installing Jenkins manually on a server.
Where it fits
- Start a Jenkins CI server in minutes using Docker and persist all pipelines, plugins, and job history with a named volume.
- Automatically install plugins and custom configuration at container startup using init scripts for a reproducible Jenkins environment.
- Run Jenkins behind a reverse proxy so it is accessible at a path like mysite.com/jenkins rather than directly on a port.
- Set up Jenkins alongside other services using Docker Compose for a local or staging development environment.