docker-compose vers le haut / bas un seul conteneur


33

Je n'ai pas pu trouver un moyen de monter / descendre un seul conteneur dans un fichier docker-compose.yml. Je peux bien sûr démarrer et arrêter un seul conteneur, mais je ne peux pas modifier la configuration des conteneurs entre les redémarrages (variables d'environnement, points de montage, etc.)

Qu'est-ce que j'oublie ici? Quelle est la meilleure pratique dans ce cas?

Réponses:


4

J'ai eu ce besoin récemment et l'ai résolu en ayant un docker-compose-production.ymlfichier séparé pour gérer les ajustements. N'oubliez pas de lancer avecdocker-compose -f docker-compose-production.yml...


Comment cela fonctionne-t-il quand vient le temps de le faire docker-compose down? Cela ne ferait-il pas disparaître tous les conteneurs qui ont été mis en place dans tous les fichiers .yml?
— Jordan Morris

2
Vous pouvez le fairedocker-compose -f docker-compose-production.yml down
— icarito

Et où spécifiez-vous le conteneur que vous souhaitez monter / descendre? -fest le sélecteur de fichier de composition, pas de conteneur.
— astrowalker

31

J'ai trouvé que cela avait le même effet que docker-compose down pour un seul service:

docker-compose rm -f -s -v yourService

docker-compose rm

Utilisation: rm [options] [SERVICE ...]

Options:
-f, --force Ne pas demander de confirmer la suppression
-s, --stop Arrêtez les conteneurs, si nécessaire, avant de supprimer
-v Supprimez tous les volumes anonymes attachés aux conteneurs

Vous pouvez condenser tous les drapeaux en un seul -paramètre:docker-compose rm -fsv yourService


Je pense que dispose du disque, btw
— Jordan Morris

2
Pourriez-vous expliquer les drapeaux, ce qu'ils feraient?
— Semo

13

Je vous suggère de consulter cet excellent fil de discussion sur stackoverflow.com. La réponse rapide ici pour reconstruire le conteneur unique et le redémarrer est:

docker-compose up -d --build worker

Ce serait la solution idéale si, par exemple, vos modifications impliquaient votre Dockerfile et pas seulement docker-compose.ymll


7

Vous pouvez utiliser

$ docker-compose -f docker-compose.yml up yourService

pour démarrer juste votreService et toutes les dépendances requises par celui-ci.

Donc, si votreService dépend du conteneur mysql, la commande ci-dessus démarrerait les deux conteneurs.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.