Dockerfile
Un Dockerfile est un fichier texte contenant des instructions pour créer une image Docker. C’est comme une recette pour construire votre application.
Structure de base d’un Dockerfile
- Définir une image de base Exemple :
FROM node:16- Copier les fichiers dans l’image Exemple :
COPY . /app
WORKDIR /app- Installer des dépendances Exemple :
RUN npm install- Exposer un port (optionnel) Exemple :
EXPOSE 3000- Définir la commande à exécuter au démarrage Exemple :
CMD ["npm", "start"]Commandes utiles
- Construire une image :
docker build -t monapp:1.0 .- Utiliser l’image :
docker run -p 3000:3000 monapp:1.0Docker Compose
docker-compose.yml est un fichier pour définir et gérer plusieurs conteneurs en même temps. Il simplifie les choses, surtout si vous avez plusieurs services (ex : backend, frontend, base de données).
**Structure de base d’un fichier ****docker-compose.yml**
- Déclarer une version Exemple :
version: "3.9"- Définir les services Exemple :
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
command: npm start- Ajouter une base de données (exemple) Exemple :
db:
image: postgres:latest
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: passwordCommandes utiles
- Lancer les services :
docker-compose up- Arrêter les services :
docker-compose down- Recréer les conteneurs après modification :
docker-compose up --buildExemple Complet
Dockerfile
FROM node:16
WORKDIR /app
COPY . /app
RUN npm install
EXPOSE 3000
CMD ["npm", "start"]docker-compose.yml
version: "3.9"
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
command: npm start
db:
image: postgres:latest
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: passwordÉtapes :
- Créer un
**Dockerfile**et un**docker-compose.yml**. - Lancer avec :
docker-compose up- Votre application est prête sur
**http://localhost:3000**.