# Construire une image
docker build -t mon-app:1.0 .
# Lister les images
docker images
# Exécuter un conteneur
docker run -d -p 8080:80 mon-app:1.0
# Lister les conteneurs
docker ps
# Arrêter un conteneur
docker stop <container_id>
# Supprimer un conteneur
docker rm <container_id>
# Supprimer une image
docker rmi mon-app:1.0
# Utiliser une image de base
FROM node:18-alpine
# Définir le répertoire de travail
WORKDIR /app
# Copier les fichiers de dépendances
COPY package*.json ./
# Installer les dépendances
RUN npm install
# Copier le reste des fichiers
COPY . .
# Exposer le port
EXPOSE 3000
# Commande de démarrage
CMD ["npm", "start"]
FROM - Image de baseWORKDIR - Répertoire de travailCOPY - Copier des fichiersRUN - Exécuter des commandesEXPOSE - Déclarer les portsENV - Variables d'environnementCMD - Commande par défaut# docker-compose.yml
version: '3.8'
services:
web:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=production
depends_on:
- db
db:
image: postgres:14
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=myapp
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:
# Créer un réseau
docker network create mon-reseau
# Connecter un conteneur
docker run -d \
--name api \
--network mon-reseau \
mon-api:1.0
# Types de réseaux :
- bridge (défaut)
- host
- none
- overlay (swarm)
# Lister les réseaux
docker network ls
# Inspecter un réseau
docker network inspect mon-reseau