# Proxy (identique à votre configuration)
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"
# Ajout dépôt Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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
# Installation
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
# Configuration proxy Docker
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTPS_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF
# Redémarrage
sudo systemctl daemon-reload
sudo systemctl restart docker
# Ajout utilisateur
sudo usermod -aG docker $USER
# Test
newgrp docker
docker --version
docker-compose --version
echo "✅ Docker installé !"
#!/bin/bash
echo "========================================="
echo " Installation Docker - Lycée"
echo "========================================="
# 1. Ajout de la clé GPG
echo "🔑 Ajout de la clé GPG Docker..."
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 2. Ajout du dépôt
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
# 3. Mise à jour
echo "🔄 Mise à jour des dépôts..."
sudo apt update
# 4. Installation
echo "🚀 Installation de Docker..."
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
# 5. Configuration du proxy pour Docker (optionnel mais recommandé)
echo "📡 Configuration du proxy pour Docker..."
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=http://10.0.0.1:3128/"
Environment="HTTPS_PROXY=https://10.0.0.1:3128/"
Environment="NO_PROXY=172.22.1.1,172.22.1.2,172.22.1.3"
EOF
# 6. Configuration des registres non sécurisés
echo "🔧 Configuration des registres Docker..."
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"insecure-registries": [
"docker.io",
"registry-1.docker.io"
],
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
EOF
# 7. Redémarrage
echo "🔄 Redémarrage de Docker..."
sudo systemctl daemon-reload
sudo systemctl restart docker
# 8. Ajout au groupe docker
echo "👤 Ajout de $USER au groupe docker..."
sudo usermod -aG docker $USER
# 9. Vérification
echo "✅ Vérification :"
docker --version
docker-compose --version
echo ""
echo "========================================="
echo "🎉 Installation terminée !"
echo "========================================="
echo "📝 Déconnectez-vous/reconnectez-vous OU"
echo " exécutez : newgrp docker"
echo ""
echo "🌐 Ensuite, pour votre Moodle :"
echo " cd ~/Works"
echo " tar xvf moodle_sauvegardes.tar"
echo " cd docker/moodle"
echo " docker-compose up -d"
#!/bin/bash
# Script d'installation de Docker pour le lycée
# À exécuter avec : bash install-docker-lycee.sh
set -e # Arrêt en cas d'erreur
# Couleurs pour les messages
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} Installation Docker - Lycée Dorian ${NC}"
echo -e "${GREEN}========================================${NC}"
# Configuration du proxy (à modifier si nécessaire)
PROXY_HOST="extranet.lyc-dorian.ac-paris.fr"
PROXY_PORT="3128"
HTTP_PROXY="http://$PROXY_HOST:$PROXY_PORT"
HTTPS_PROXY="http://$PROXY_HOST:$PROXY_PORT"
NO_PROXY="localhost,127.0.0.1,.local,.lyc-dorian.ac-paris.fr"
echo -e "${YELLOW}📡 Configuration du proxy : $HTTP_PROXY${NC}"
# 1. Nettoyage des anciennes installations
echo -e "${YELLOW}🧹 Nettoyage des anciennes installations...${NC}"
sudo apt remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true
# 2. Mise à jour des paquets
echo -e "${YELLOW}📦 Mise à jour des paquets...${NC}"
sudo apt update
# 3. Installation des prérequis
echo -e "${YELLOW}🔧 Installation des prérequis...${NC}"
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release \
software-properties-common
# 4. Configuration du proxy pour APT
echo -e "${YELLOW}📡 Configuration du proxy pour APT...${NC}"
sudo tee /etc/apt/apt.conf.d/95proxies > /dev/null <<EOF
Acquire::http::Proxy "$HTTP_PROXY";
Acquire::https::Proxy "$HTTPS_PROXY";
EOF
# 5. Ajout de la clé GPG Docker
echo -e "${YELLOW}🔑 Ajout de la clé GPG Docker...${NC}"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 6. Ajout du dépôt Docker
echo -e "${YELLOW}📦 Ajout du dépôt Docker...${NC}"
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 7. Mise à jour et installation de Docker
echo -e "${YELLOW}🚀 Installation de Docker...${NC}"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
# 8. Ajout de l'utilisateur au groupe docker
echo -e "${YELLOW}👤 Ajout de l'utilisateur au groupe docker...${NC}"
sudo usermod -aG docker $USER
# 9. Configuration du proxy pour Docker
echo -e "${YELLOW}📡 Configuration du proxy pour Docker...${NC}"
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTPS_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF
# 10. Configuration des registres non sécurisés et miroirs
echo -e "${YELLOW}🔧 Configuration des registres Docker...${NC}"
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"
],
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# 11. Rechargement et redémarrage de Docker
echo -e "${YELLOW}🔄 Redémarrage de Docker...${NC}"
sudo systemctl daemon-reload
sudo systemctl restart docker
# 12. Vérification
echo -e "${YELLOW}✅ Vérification de l'installation...${NC}"
docker --version
docker-compose --version
# 13. Test avec une image simple
echo -e "${YELLOW}🧪 Test avec l'image hello-world...${NC}"
docker run hello-world
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}🎉 Installation terminée avec succès !${NC}"
echo -e "${GREEN}========================================${NC}"
echo -e "${YELLOW}📝 IMPORTANT : Déconnectez-vous et reconnectez-vous${NC}"
echo -e "${YELLOW} ou exécutez : newgrp docker${NC}"
echo -e "${YELLOW} pour que les changements de groupe soient pris en compte.${NC}"
echo ""
echo -e "${GREEN}🌐 Pour tester Moodle :${NC}"
echo -e " mkdir -p ~/moodle && cd ~/moodle"
echo -e " curl -o docker-compose.yml https://... (ou utilisez votre fichier)"
echo -e " docker-compose up -d"
#!/bin/bash
# Script de configuration Docker pour proxy lycée
# À exécuter avec : bash docker-proxy-fix.sh
set -e # Arrêt en cas d'erreur
# Couleurs pour les messages
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Configuration (adaptée de votre /etc/environment)
PROXY_IP="10.0.0.1"
PROXY_PORT="3128"
HTTP_PROXY="http://${PROXY_IP}:${PROXY_PORT}/"
HTTPS_PROXY="http://${PROXY_IP}:${PROXY_PORT}/" # Important: http:// même pour https
NO_PROXY="172.22.1.1,172.22.1.2,172.22.1.3,localhost,127.0.0.1,.local,.docker.io"
echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE} Configuration Docker pour proxy lycée ${NC}"
echo -e "${BLUE}========================================${NC}"
# 1. Sauvegarde des configurations existantes
echo -e "${YELLOW}📦 Sauvegarde des configurations existantes...${NC}"
BACKUP_DIR="/tmp/docker-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p $BACKUP_DIR
[ -f /etc/docker/daemon.json ] && sudo cp /etc/docker/daemon.json $BACKUP_DIR/daemon.json.bak 2>/dev/null || true
[ -d /etc/systemd/system/docker.service.d ] && sudo cp -r /etc/systemd/system/docker.service.d $BACKUP_DIR/ 2>/dev/null || true
echo -e "${GREEN}✅ Sauvegarde dans $BACKUP_DIR${NC}"
# 2. Nettoyage des anciennes configurations
echo -e "${YELLOW}🧹 Nettoyage des anciennes configurations...${NC}"
sudo rm -f /etc/docker/daemon.json
sudo rm -rf /etc/systemd/system/docker.service.d
# 3. Création du dossier de configuration systemd
echo -e "${YELLOW}📁 Création des dossiers de configuration...${NC}"
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo mkdir -p /etc/docker
# 4. Configuration du proxy pour Docker (via systemd)
echo -e "${YELLOW}📡 Configuration du proxy Docker (systemd)...${NC}"
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
# 5. Configuration de daemon.json (registres, miroirs, MTU)
echo -e "${YELLOW}🔧 Configuration de Docker daemon.json...${NC}"
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"mtu": 1400,
"insecure-registries": [
"docker.io",
"registry-1.docker.io",
"index.docker.io"
],
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"debug": true,
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"features": {
"containerd-snapshotter": false
}
}
EOF
# 6. Rechargement systemd et redémarrage Docker
echo -e "${YELLOW}🔄 Rechargement de systemd et redémarrage de Docker...${NC}"
sudo systemctl daemon-reload
sudo systemctl restart docker
# 7. Vérification du statut
echo -e "${YELLOW}✅ Vérification du statut Docker...${NC}"
sleep 3
if sudo systemctl is-active --quiet docker; then
echo -e "${GREEN}✅ Docker est actif${NC}"
else
echo -e "${RED}❌ Docker n'a pas démarré correctement${NC}"
sudo systemctl status docker --no-pager
exit 1
fi
# 8. Test de connectivité de base
echo -e "${YELLOW}🌐 Test de connectivité via proxy...${NC}"
if timeout 10 curl --proxy $HTTP_PROXY -s -I https://registry-1.docker.io/v2/ > /dev/null; then
echo -e "${GREEN}✅ Proxy accessible${NC}"
else
echo -e "${RED}⚠️ Proxy inaccessible - vérifiez l'IP et le port${NC}"
fi
# 9. Test Docker avec hello-world
echo -e "${YELLOW}🐳 Test avec l'image hello-world...${NC}"
if docker run --rm hello-world 2>/dev/null | grep -q "Hello from Docker"; then
echo -e "${GREEN}✅ Test réussi : Docker fonctionne avec le proxy !${NC}"
else
echo -e "${RED}❌ Le test a échoué${NC}"
echo -e "${YELLOW}📝 Détails de l'erreur :${NC}"
docker run --rm hello-world 2>&1 || true
fi
# 10. Résumé final
echo -e "${BLUE}========================================${NC}"
echo -e "${GREEN}🎉 Configuration terminée !${NC}"
echo -e "${BLUE}========================================${NC}"
echo -e "${YELLOW}📝 Récapitulatif de la configuration :${NC}"
echo " Proxy HTTP : $HTTP_PROXY"
echo " Proxy HTTPS : $HTTPS_PROXY"
echo " No Proxy : $NO_PROXY"
echo " MTU : 1400"
echo " Miroirs : docker.mirrors.ustc.edu.cn, hub-mirror.c.163.com"
echo ""
echo -e "${YELLOW}📂 Sauvegarde disponible dans : $BACKUP_DIR${NC}"
echo ""
echo -e "${GREEN}👉 Pour tester : docker run hello-world${NC}"
echo -e "${GREEN}👉 Pour voir les logs : docker logs -f $(docker ps -lq)${NC}"