Files
gh-atournayre-claude-market…/commands/docker.md
2025-11-29 17:58:47 +08:00

168 lines
5.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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