Installer Jenkins sur Docker
1. Introduction
Jenkins est l’un des outils de CI/CD les plus utilisés au monde. Il permet d’automatiser des tâches clés comme : les tests, le build, l’analyse de code et le déploiement. C’est aujourd’hui un incontournable dans les équipes de développement modernes.
Dans ce tutoriel, nous allons apprendre à installer Jenkins avec Docker. Cette approche permet d’éviter les installations complexes, tout en garantissant un environnement stable, isolé et reproductible.
À la fin de ce guide, vous aurez un Jenkins fonctionnel en quelques minutes, accessible depuis votre navigateur, et prêt à accueillir ses premiers pipelines CI/CD.
2. Prérequis
Avant de commencer, assure-toi d’avoir les éléments suivants :
- Docker installé sur ta machine ou Docker Desktop en cours d'exécution
- Un navigateur web moderne (Chrome, Firefox, Edge…)
- Des bases en ligne de commande
ℹ️ Docker Desktop inclut déjà Docker et permet de gérer facilement tes conteneurs via une interface graphique.
ℹ️ Jenkins fonctionnera ici en local, mais la même approche s’applique à un serveur distant. Tout au long de ce tutoriel, des captures d’écran viendront illustrer chaque étape.
🔧 Installation de Docker Desktop
Si Docker n’est pas encore installé sur ta machine, télécharge Docker Desktop depuis le site officiel :
https://www.docker.com/products/docker-desktop/
Docker Desktop est disponible sur Windows, macOS et Linux. Une fois l’installation terminée, lance l’application et assure-toi qu’elle est bien en cours d’exécution avant de continuer ce tutoriel.
⚠️ Erreur WSL trop ancien (Windows)

Si tu vois le message indiquant que ta version de WSL est trop ancienne, exécute la commande suivante dans un terminal ouvert en administrateur :
wsl --update
Redémarre ensuite ton ordinateur, puis vérifie avec :
wsl --version
⚠️ Tu dois lancer la commande avec Windows Terminal ou PowerShell en mode Admin
Une fois sur l'écran d'accueil, vérifie si tu as la mention Engine running en bas à gauche de ton écran. Si oui, Docker fonctionne parfaitement.

2.1 Vérifier l’installation de Docker
Ouvre un terminal et exécute les commandes suivantes pour vérifier que Docker est bien installé et qu’il fonctionne correctement :
docker --version docker ps
Si Docker est bien installé, la première commande affiche la version de Docker, et la seconde retourne une liste (éventuellement vide) de conteneurs.
Une fois ces vérifications effectuées, tu peux passer à l’étape suivante : l’installation et le lancement de Jenkins avec Docker.
3. Pourquoi installer Jenkins avec Docker ?
Installer Jenkins manuellement peut vite devenir fastidieux : Java, dépendances, configuration système etc. Chaque étape peut entraîner des erreurs ou des conflits. Docker simplifie tout cela en encapsulant Jenkins dans un environnement prêt à l’emploi.
- Installation rapide : lance Jenkins en quelques commandes.
- Environnement isolé : pas de conflit avec ton système ou d’autres applications.
- Facile à supprimer ou recréer : testez différentes versions ou configurations sans risque.
- Version officielle maintenue par Jenkins : toujours à jour et sécurisée.
ℹ️ Avec Docker, tu peux te concentrer sur la création de pipelines CI/CD plutôt que sur l’installation de Jenkins.
4. Installation de Jenkins avec Docker
Avant de commencer, assures-toi que :
- les ports 8080 et 50000 sont disponibles
- tu as eu moins 2 GB de RAM libre recommandés
Étape 1 : Télécharger l'image officielle Jenkins
Nous allons utiliser la version LTS (Long Term Support), recommandée pour sa stabilité et sa maintenance à long terme. Cette version reçoit des mises à jour de sécurité régulières et est idéale pour un usage en production ou en environnement de test.
ℹ️ L'image fait environ 700 MB. Le téléchargement peut prendre quelques minutes selon la connexion internet.
Dans ton terminal, saisies la commande suivante :
docker pull jenkins/jenkins:lts
Cette commande télécharge l'image officielle de Jenkins depuis Docker Hub. Docker va télécharger l'image en plusieurs couches.
Tu peux aussi utiliser le terminal intégré de Docker Desktop si tu préfères une interface graphique :
- Ouvre Docker Desktop
- Clique sur l'icône du terminal en bas à droite (ou cherche "CLI" dans l'interface)

Une fois le téléchargement terminé, tu verras affiché dans le terminal :
Status : Downloaded newer image for jenkins/jenkins:lts
Vérification : Pour confirmer que l'image a bien été téléchargée, utilise la commande :
docker images jenkins/jenkins
Et tu auras cet affichage :

Étape 2 : Lancer le conteneur Jenkins
Nous allons maintenant créer et lancer un conteneur à partir de cette image.
Cette commande va démarrer Jenkins en arrière-plan et exposer les ports nécessaires.
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins jenkins/jenkins:lts
Explication des paramètres :
-d: lance le conteneur en mode détaché (en arrière-plan), permettant de continuer à utiliser le terminal-p 8080:8080: mappe le port 8080 du conteneur vers le port 8080 de la machine. C'est le port pour accéder à l'interface web Jenkins-p 50000:50000: port utilisé pour la communication avec les agents Jenkins (workers distants)--name jenkins: donne un nom explicite au conteneur pour faciliter sa gestion ultérieure
Après l'exécution de cette commande, tu devrais voir s'afficher un long identifiant du conteneur. Jenkins est maintenant lancé et démarre en arrière-plan.
Vérification du conteneur :
docker ps
Cette commande liste tous les conteneurs en cours d'exécution. Tu devrais voir le conteneur Jenkins avec son statut "Up" et les ports mappés.

Dans Docker Desktop, tu auras cet affichage:

Étape 3 : Vérifier les logs et récupérer le mot de passe initial
Jenkins génère un mot de passe administrateur initial lors de son premier démarrage. Nous devons récupérer ce mot de passe dans les logs du conteneur avec la commande :
docker logs jenkins
Cherches dans les logs une section similaire à celle-ci :
************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* *************************************************************
⚠️ Important : Copies et conserves ce mot de passe, tu en auras besoin pour la configuration initiale de Jenkins dans la prochaine section.
🛠️ Commandes de gestion utiles
Arrêter Jenkins :
docker stop jenkins
Cette commande arrête le conteneur en douceur tout en conservant les données.
Redémarrer Jenkins :
docker start jenkins
Cette commande redémarre le conteneur arrêté avec toutes ses données.
Redémarrer Jenkins (alternative) :
docker restart jenkins
Cette commande équivaut à STOP + START en une seule commande.
Voir les logs en temps réel :
docker logs -f jenkins
Cette commande affiche les logs en continu. Utilisez Ctrl+C pour quitter.
Accéder au shell du conteneur :
docker exec -it jenkins bash
Cette commande ouvre un terminal interactif dans le conteneur pour du débogage avancé.
🛑 Problèmes courants et solutions
Erreur : "port is already allocated"
Le port 8080 ou 50000 est déjà utilisé par une autre application.
Solution :
- Identifies l'application utilisant le port :
lsof -i :8080(Mac/Linux) ounetstat -ano | findstr :8080(Windows) - Arrêtes l'application ou utilises un autre port :
-p 9090:8080
Le conteneur s'arrête immédiatement
Vérifies les logs pour identifier l'erreur.
docker logs jenkins
Il s'agit souvent d'un manque de mémoire ou des permissions insuffisantes.
Impossible d'accéder à http://localhost:8080
Jenkins peut mettre jusqu'à 1 ou 2 minutes à démarrer complètement.
Solutions : Attends quelques instants et rafraîchis la page, ou vérifies les logs avec docker logs jenkins pour voir si le démarrage est complet.
Jenkins est maintenant installé et opérationnel ! Dans la section suivante, nous allons configurer Jenkins pour la première fois en utilisant le mot de passe administrateur que tu viens de récupérer.
⚠️ Assures-toi d'avoir noté le mot de passe initial avant de continuer.
5. Accéder à Jenkins
Dans ton navigateur, rends-toi à l’adresse : http://localhost:8080
Jenkins te demande alors un mot de passe administrateur pour déverrouiller l’interface. C'est donc ici que tu utilises le mot de passe récupéré dans les logs plus haut.

Jenkins te propose ensuite d’installer des plugins. Choisis l’option : Install suggested plugins
Ces plugins sont essentiels pour créer des pipelines, gérer Git et afficher les résultats des builds.

Après l'installation des plugins, tu peux créer un utilisateur Admin :

À la fin de la configuration de Jenkins, tu auras accès au tableau de bord principal. Jenkins est maintenant prêt à être utilisé!

Conclusion
Jenkins est maintenant installé et prêt à être utilisé. Grâce à Docker, tu disposes d’une installation propre, rapide et facilement reproductible. Si tu veux directement passer au CI/CD avec Jenkins, je t'invite à consulter le tutoriel ici : CI/CD avec Jenkins