Environnement d'hébergement et d'évaluation des applications et projets étudiants.
nom-projet.lab.babadobi.com).
Ce guide détaille l'ensemble des étapes génériques nécessaires pour compiler, transférer et déployer une application web avec une base de données sur le serveur de Projet.
808X).Une fois connecté en SSH à votre compte, voici les commandes CLI Docker utilisables dans votre espace :
| Action | Commande |
|---|---|
| Lister vos conteneurs actifs | docker ps |
| Consulter les logs d'un conteneur | docker logs -f <nom_conteneur> |
| Arrêter / Redémarrer un conteneur | docker stop <nom_conteneur> / docker restart <nom_conteneur> |
| Exécuter une commande dans le conteneur | docker exec -it <nom_conteneur> bash |
Étape 1 : Générer le fichier exécutable / livrable en local
cd ~/chemin/vers/votre-projet ./mvnw clean package -DskipTests
Étape 2 : Transférer les fichiers sur le VPS
Depuis le terminal de votre PC local, envoyez le fichier exécutable (ex: .jar) vers votre dossier distant :
scp -P <PORT_SSH> target/*.jar <votre_identifiant>@<ADRESSE_IP_SERVEUR>:~/docker-lab/app.jar
Étape 3 : Configurer l'environnement Docker sur le VPS
Connectez-vous en SSH au serveur :
ssh -p <PORT_SSH> <votre_identifiant>@<ADRESSE_IP_SERVEUR> cd ~/docker-lab
1. Créer le Dockerfile :
nano Dockerfile
FROM eclipse-temurin:17-jdk-alpine WORKDIR /app COPY app.jar app.jar EXPOSE <PORT_INTERNE_APP> ENTRYPOINT ["java", "-jar", "app.jar"]
2. Créer le fichier docker-compose.yml :
nano docker-compose.yml
version: '3.8'
services:
db:
image: mysql:8.0
container_name: mysql-<votre_identifiant>
restart: always
environment:
MYSQL_DATABASE: <NOM_DE_VOTRE_BASE>
MYSQL_ROOT_PASSWORD: <MOT_DE_PASSE_SECURISE>
volumes:
- db_data:/var/lib/mysql
web:
build: .
container_name: app-<votre_identifiant>
restart: always
ports:
- "<PORT_ATTRIBUÉ>:<PORT_INTERNE_APP>"
depends_on:
- db
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/<NOM_DE_VOTRE_BASE>?allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=UTC
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: <MOT_DE_PASSE_SECURISE>
SPRING_JPA_HIBERNATE_DDL_AUTO: update
volumes:
db_data:
Étape 4 : Lancer le script d'automatisation
Une fois les fichiers enregistrés, exécutez le script de déploiement :
sudo /usr/local/bin/deploy.sh <votre_identifiant>
Étape 5 : Vérifier les logs & l'initialisation
Suivez l'exécution en temps réel dans votre terminal :
docker logs -f app-<votre_identifiant>
502 Bad Gateway dans les premières secondes, pas de panique ! Regardez les logs (docker logs -f app-<votre_identifiant>) et attendez la confirmation du démarrage complet (ex: Tomcat started on port(s)...) avant de recharger votre navigateur.
Dockerfile et docker-compose.yml sont indicatifs et doivent être adaptés à votre projet.