docker_install.sh
#!/bin/bash
# Script: install-docker-proxy-fixed.sh
# Usage: bash install-docker-proxy-fixed.sh
# Configuration (identique à la vôtre)
HTTP_PROXY="http://10.0.0.1:3128"
HTTPS_PROXY="https://10.0.0.1:3128"
NO_PROXY="172.22.1.1,172.22.1.2,172.22.1.3,localhost,127.0.0.1"
echo "========================================="
echo " Installation Docker derrière proxy"
echo "========================================="
# 1. Installer curl si nécessaire
echo "📦 Installation de curl..."
sudo apt update
sudo apt install -y curl ca-certificates
# 2. Vérifier que le proxy est accessible
echo "📡 Vérification du proxy..."
curl --proxy $HTTP_PROXY -I https://download.docker.com || {
echo "❌ Proxy inaccessible. Vérifiez votre configuration."
exit 1
}
# 3. Nettoyer les anciennes clés et dépôts
echo "🧹 Nettoyage des anciennes configurations..."
sudo rm -f /usr/share/keyrings/docker-archive-keyring.gpg
sudo rm -f /etc/apt/sources.list.d/docker.list
# 4. Ajouter la clé GPG Docker (avec proxy)
echo "🔑 Ajout de la clé GPG Docker..."
curl --proxy $HTTP_PROXY -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 5. Ajouter le dépôt Docker
echo "📦 Ajout du dépôt Docker..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 6. Mettre à jour
echo "🔄 Mise à jour des dépôts..."
sudo apt update
# 7. Installer Docker
echo "🚀 Installation de Docker..."
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
# 8. Vérifier que Docker est bien installé avant de continuer
if ! command -v docker &> /dev/null; then
echo "❌ Docker n'a pas pu être installé"
exit 1
fi
# 9. Configurer le proxy pour Docker
echo "📡 Configuration du proxy pour Docker..."
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTPS_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF
# 10. Configurer les registres non sécurisés
echo "🔧 Configuration des registres..."
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"insecure-registries": [
"docker.io",
"registry-1.docker.io",
"index.docker.io"
]
}
EOF
# 11. Redémarrer Docker
echo "🔄 Redémarrage de Docker..."
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker
# 12. Ajouter l'utilisateur au groupe docker
echo "👤 Ajout de $USER au groupe docker..."
sudo groupadd docker 2>/dev/null || true
sudo usermod -aG docker $USER
# 13. Tester
echo "✅ Vérification de l'installation..."
docker --version
docker-compose --version
echo ""
echo "========================================="
echo "🎉 Installation terminée avec succès !"
echo "========================================="
echo "📝 Étape finale :"
echo " 1. Exécutez : newgrp docker"
echo " 2. Testez : docker run hello-world"
echo ""
echo "📡 Si vous avez des problèmes de certificat :"
echo " sudo mkdir -p /etc/docker"
echo " sudo tee /etc/docker/daemon.json <<EOF"
echo " { \"insecure-registries\": [\"docker.io\"] }"
echo " EOF"
echo " sudo systemctl restart docker"
