Lorsque j'utilise, docker-compose up
je peux voir les journaux de tous les conteneurs de mon docker-compose.yml
fichier.
Cependant, lorsque j'utilise, docker-compose run app
je ne vois que la sortie de la console, app
mais aucun des services dont app
dépend. Comment voir la sortie du journal pour les autres services?
docker
docker-compose
échecs
la source
la source
docker-compose logs -f service_name
docker-compose run
crée un nouveau conteneur à chaque fois que vous l'exécutez.docker-compose run
dans circleci juste pour exécuter mes tests, donc c'est correct s'il crée un nouveau conteneur. Le problème principal est simplement de ne pas voir la sortie du journal des services dépendants.Réponses:
Mise à jour du 1er juillet 2019
De la documentation :
Voir les journaux de docker
Vous pouvez démarrer la composition de Docker en mode détaché et vous attacher aux journaux de tous les conteneurs ultérieurement. Si vous avez terminé de regarder les journaux, vous pouvez vous détacher de la sortie des journaux sans arrêter vos services.
docker-compose up -d
pour démarrer tous les services en mode détaché (-d
) (vous ne verrez aucun journal en mode détaché)docker-compose logs -f -t
pour vous attacher aux journaux de tous les services en cours d'exécution , alors que cela-f
signifie que vous suivez la sortie du journal et que l'-t
option vous donne des horodatages (voir la référence Docker )Ctrl + z
ouCtrl + c
pour vous détacher de la sortie du journal sans arrêter vos conteneurs en cours d'exécutionSi vous êtes intéressé par les journaux d'un seul conteneur, vous pouvez utiliser le
docker
mot clé à la place:docker logs -t -f <name-of-service>
Sauvegarder la sortie
Pour enregistrer la sortie dans un fichier, ajoutez les éléments suivants à votre commande logs:
docker-compose logs -f -t >> myDockerCompose.log
la source
docker-compose run
et se rattache à ces services, qui ont des noms uniques parmi les services répertoriés dansdocker.compose.yml
Si vous souhaitez voir les journaux de sortie de tous les services de votre terminal.
Si vous souhaitez enregistrer la sortie de services spécifiques, vous pouvez le faire comme ci-dessous:
Réf: https://docs.docker.com/v17.09/engine/admin/logging/view_container_logs/
la source
docker-compose up -d
docker ps
docker logs <containerid>
la source
Malheureusement, nous devons exécuter
docker-compose logs
séparément dedocker-compose run
. Pour que cela fonctionne de manière fiable, nous devons supprimer l'docker-compose run
état de sortie, puis rediriger le journal et quitter avec le bon état.la source