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/
Page officielle de téléchargement Docker

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)
Erreur WSL

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.

Accueil Docker Desktop

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)

Installation de Jenkins

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 :

Installation de Jenkins vérifiée

É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.

Installation de Jenkins

Dans Docker Desktop, tu auras cet affichage:

Installation de Jenkins

É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) ou netstat -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.

Page officielle de téléchargement Docker

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.

Page officielle de téléchargement Docker

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

Page officielle de téléchargement Docker

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

Page officielle de téléchargement Docker

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

← Retourner au blog