Créez un fichier install-docker.sh, placez-le sur votre serveur, puis exécutez-le depuis n'importe quelle machine où vous souhaitez installer Docker. Il est recommandé de ne pas l'exécuter en tant que root, mais en tant qu'utilisateur courant, car ce dernier sera ajouté au groupe Docker.
curl -fsSL https://xxxxxxxxx/docker.sh | bash
#!/bin/bash
set -e
print_section() {
echo -e "\n\e[1;34m🔷 ======================================\e[0m"
echo -e "\e[1;34m🔹 $1\e[0m"
echo -e "\e[1;34m🔷 ======================================\e[0m"
}
install_portainer() {
if sudo docker ps --filter "name=portainer" --filter "status=running" --format "{{.Names}}" | grep -q "^portainer$"; then
print_section "✅ Portainer est installé et en cours d'exécution."
elif sudo docker ps -a --filter "name=portainer" --format "{{.Names}}" | grep -q "^portainer$"; then
print_section "⚠️ Un conteneur nommé 'portainer' existe mais n'est pas actif."
exit 1
else
print_section "🚀 Installation et lancement de Portainer..."
sudo docker run -d -p 9000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
print_section "✅ Portainer est maintenant en cours d'exécution sur : http://localhost:9000"
fi
}
if command -v docker &> /dev/null; then
print_section "✅ Docker est déjà installé. Version : $(docker --version)"
install_portainer
else
print_section "Docker n'est pas installé. Installation de Docker..."
print_section "🔧 Mise à jour des paquets..."
sudo apt-get update
print_section "📦 Installation des dépendances..."
sudo apt-get install -y ca-certificates curl gnupg
print_section "📁 Création du répertoire pour les clés..."
sudo install -m 0755 -d /etc/apt/keyrings
print_section "🔑 Récupération de la clé GPG Docker..."
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
print_section "📝 Ajout du dépôt Docker dans les sources APT..."
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
print_section "🔄 Mise à jour des paquets avec le dépôt Docker..."
sudo apt-get update
print_section "🐳 Installation de Docker CE et outils associés..."
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
if command -v docker &> /dev/null; then
print_section "✅ Docker est maintenant installé !"
sudo usermod -aG docker "$USER"
print_section "👤 Utilisateur '$USER' ajouté au groupe docker (tu devras peut-être te déconnecter/reconnecter)."
install_portainer
else
print_section "❌ Docker n’a pas été installé correctement."
exit 1
fi
fi