Docker, c'est quoi ?
Docker permet d'emballer votre application avec toutes ses dépendances dans un conteneur : le même code tourne à l'identique sur votre ordinateur, sur le serveur de votre client ou dans le cloud. Fini le « ça marche chez moi ! ».
1. Installer Docker
Téléchargez Docker Desktop (Windows/Mac) ou installez Docker Engine sur Linux :
# Ubuntu / Debian
sudo apt update && sudo apt install docker.io docker-compose
sudo systemctl enable --now docker
2. Notre application d'exemple
Un serveur Node.js minimal, dans le dossier mon-app/ :
const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello Docker, depuis Tech237 ! 🐳'));
app.listen(3000);
3. Le Dockerfile
Créez le fichier Dockerfile à la racine du projet :
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
4. Construire et lancer
docker build -t mon-app .
docker run -p 3000:3000 mon-app
# Ouvrez http://localhost:3000 🎉
5. Aller plus loin avec docker-compose
Pour une app + une base de données, créez docker-compose.yml :
version: "3.9"
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DB_HOST=db
db:
image: postgres:16-alpine
environment:
POSTGRES_PASSWORD: secret
volumes:
- dbdata:/var/lib/postgresql/data
volumes:
dbdata:
Puis un seul commande :
docker compose up -d
docker compose ps # voir l'état
docker compose logs -f app
Les commandes indispensables
docker ps # conteneurs en cours
docker images # images locales
docker logs <conteneur> # journaux
docker exec -it <id> sh # entrer dans un conteneur
docker system prune -a # nettoyage complet (attention !)
Astuce : utilisez .dockerignore pour exclure node_modules et les fichiers inutiles de la copie dans l'image.
Avec Docker, votre application devient portable et reproductible : l'outil n°1 pour passer du développement à la production sans douleur. 🐳
Aucun commentaire pour le moment. Soyez le premier !