168 lines
5.1 KiB
Markdown
168 lines
5.1 KiB
Markdown
---
|
||
allowed-tools:
|
||
- Bash
|
||
- Read
|
||
- Grep
|
||
- Glob
|
||
description: Indique d'utiliser docker pour faire la ou les actions définies dans le prompt
|
||
model: claude-sonnet-4-5-20250929
|
||
---
|
||
|
||
# Contexte Docker
|
||
|
||
Active le mode Docker pour exécuter toutes les actions dans des conteneurs Docker plutôt que directement sur l'hôte.
|
||
|
||
## Purpose
|
||
|
||
Cette commande active un contexte spécial où Claude utilisera systématiquement Docker pour :
|
||
- Exécuter des commandes système
|
||
- Builder des projets
|
||
- Lancer des tests
|
||
- Gérer les dépendances
|
||
- Toute autre opération technique
|
||
|
||
## Variables
|
||
|
||
- DOCKER_COMPOSE_FILE: Fichier docker-compose à utiliser (défaut: docker-compose.yml)
|
||
- DOCKER_SERVICE: Service Docker à cibler pour les commandes (optionnel)
|
||
- DOCKER_ENV: Environnement Docker (dev/staging/prod, défaut: dev)
|
||
|
||
## Relevant Files
|
||
|
||
- `docker-compose.yml` - Configuration Docker Compose
|
||
- `Dockerfile` - Définition des images
|
||
- `.dockerignore` - Fichiers exclus du build
|
||
- `docker/` - Configurations Docker additionnelles
|
||
|
||
## Workflow
|
||
|
||
### Étape 1: Analyse de l'environnement Docker
|
||
- Détecter le fichier docker-compose.yml ou Dockerfile
|
||
- Identifier les services Docker disponibles
|
||
- Vérifier l'état des conteneurs (docker ps)
|
||
- Lister les services configurés
|
||
|
||
### Étape 2: Validation de Docker
|
||
- Vérifier que Docker est installé et accessible
|
||
- Confirmer que les conteneurs nécessaires sont démarrés ou peuvent l'être
|
||
- Identifier le service principal si plusieurs services existent
|
||
|
||
### Étape 3: Configuration du contexte
|
||
- Enregistrer le mode Docker comme actif pour la session
|
||
- Déterminer le préfixe de commande à utiliser :
|
||
- `docker exec [container]` pour conteneurs running
|
||
- `docker-compose exec [service]` pour docker-compose
|
||
- `docker run` pour images standalone
|
||
- Mémoriser les paramètres pour les prochaines commandes
|
||
|
||
### Étape 4: Rapport de configuration
|
||
- Afficher la configuration Docker détectée
|
||
- Confirmer le mode actif
|
||
- Indiquer comment les prochaines commandes seront exécutées
|
||
|
||
## Instructions pour Claude
|
||
|
||
**MODE DOCKER ACTIF**
|
||
|
||
À partir de maintenant et jusqu'à nouvel ordre :
|
||
|
||
1. **Toutes les commandes système** doivent être exécutées via Docker
|
||
2. **Format des commandes** :
|
||
- Avec Docker Compose : `docker compose exec [service] [commande]`
|
||
- Sans Docker Compose : `docker exec [container] [commande]`
|
||
- Pour les builds : `docker compose build` ou `docker build`
|
||
|
||
3. **Exemples de transformation** :
|
||
```bash
|
||
# Au lieu de : composer install
|
||
# Utiliser : docker compose exec php composer install
|
||
|
||
# Au lieu de : npm run build
|
||
# Utiliser : docker compose exec node npm run build
|
||
|
||
# Au lieu de : php bin/console cache:clear
|
||
# Utiliser : docker compose exec php php bin/console cache:clear
|
||
```
|
||
|
||
4. **Services communs à identifier** :
|
||
- `php` / `app` - Application PHP
|
||
- `node` / `frontend` - Build frontend
|
||
- `web` / `nginx` - Serveur web
|
||
- `db` / `database` - Base de données
|
||
|
||
5. **Gestion des erreurs** :
|
||
- Si un conteneur n'est pas démarré → suggérer `docker compose up -d`
|
||
- Si un service n'existe pas → lister les services disponibles
|
||
- Si Docker n'est pas accessible → indiquer clairement l'erreur
|
||
|
||
6. **Persistance du contexte** :
|
||
- Ce mode reste actif pour toute la session
|
||
- Peut être désactivé avec une commande explicite de l'utilisateur
|
||
- S'applique à toutes les opérations : build, test, deploy, etc.
|
||
|
||
## Report
|
||
|
||
```
|
||
🐳 Mode Docker Activé
|
||
|
||
Configuration détectée :
|
||
- Fichier : [docker-compose.yml / Dockerfile]
|
||
- Services disponibles :
|
||
• [service1] - [description]
|
||
• [service2] - [description]
|
||
• [service3] - [description]
|
||
|
||
État des conteneurs :
|
||
- [X] [service1] - Running
|
||
- [ ] [service2] - Stopped
|
||
- [X] [service3] - Running
|
||
|
||
Format des commandes :
|
||
docker compose exec [service] [commande]
|
||
|
||
Exemples :
|
||
• composer install → docker compose exec php composer install
|
||
• npm run build → docker compose exec node npm run build
|
||
• php bin/console → docker compose exec php php bin/console
|
||
|
||
ℹ️ Toutes les prochaines commandes système seront exécutées via Docker.
|
||
```
|
||
|
||
## Examples
|
||
|
||
### Activation basique
|
||
```bash
|
||
/docker
|
||
```
|
||
|
||
### Avec projet Symfony + Docker Compose
|
||
```
|
||
🐳 Mode Docker Activé
|
||
|
||
Services disponibles : php, nginx, database, redis
|
||
|
||
Commandes transformées :
|
||
• composer install → docker compose exec php composer install
|
||
• symfony console cache:clear → docker compose exec php php bin/console cache:clear
|
||
```
|
||
|
||
### Avec projet Node.js
|
||
```
|
||
🐳 Mode Docker Activé
|
||
|
||
Service : node
|
||
|
||
Commandes transformées :
|
||
• npm install → docker compose exec node npm install
|
||
• npm run dev → docker compose exec node npm run dev
|
||
```
|
||
|
||
## Best Practices
|
||
|
||
- Toujours vérifier que Docker est accessible avant d'activer le mode
|
||
- Identifier le service principal pour les commandes fréquentes
|
||
- Proposer `docker compose up -d` si les conteneurs ne sont pas démarrés
|
||
- Conserver le contexte Docker pour toute la session une fois activé
|
||
- Adapter les commandes de manière transparente pour l'utilisateur
|
||
- En cas d'échec Docker, expliquer clairement la raison et la solution
|