Déployer une application avec Docker
Installez Docker, lancez un conteneur avec ports et volumes, puis orchestrez avec docker-compose.
Déployer une application avec Docker
Docker isole votre application et ses dépendances dans un conteneur reproductible. Vous lancez une image, vous mappez les ports et les volumes, et le tour est joué.
Cause / Le problème
« Ça marche sur ma machine » est le problème classique : une version de runtime différente, une dépendance système manquante, un port déjà pris. Docker supprime ces écarts en empaquetant l’app avec son environnement.
Solution
- Installez Docker sur votre instance :
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # puis reconnectez-vous - Lancez une image existante :
docker run -d --name mon-app -p 8080:8080 -e PORT=8080 mon-image:latest-d: en arrière-plan,--name: nom du conteneur.-p hôte:conteneur: mappe un port,-e CLE=valeur: une variable d’env.-v /chemin/hote:/chemin/conteneur: un volume persistent.
- Vérifiez l’état :
docker ps # conteneurs en cours docker logs -f mon-app # logs en direct - Construisez votre propre image avec un
Dockerfile, puis :docker build -t mon-app . docker run -d -p 8080:8080 mon-app - Utilisez docker-compose pour gérer plusieurs services. Fichier
docker-compose.yml:
Puisservices: app: image: mon-app:latest ports: ["8080:8080"] environment: PORT: "8080" volumes: ["./data:/app/data"] restart: unless-stoppeddocker compose up -d. - Choisissez une politique de redémarrage :
restart: unless-stoppedourestart: alwayspour survivre au reboot. - Mettez à jour :
docker compose pull && docker compose up -d
Erreurs courantes : bind: address already in use (un port est pris — changez le port hôte), permission denied (ajoutez votre utilisateur au groupe docker ou utilisez sudo).