lors de l'appel de docker ps , la liste est vide, même si j'ai un identifiant:
( dcbb6aeaa06ba43fcb .....
)
Mes étapes:
Étape 1 : J'ai créé une image ( imagekommando
) d'un fichier js.file en cours d'exécution:
Étape 2 : j'ai créé un conteneur (en arrière-plan) basé sur mon image
docker run -d --name containerkommando imagekommando
J'ai une identité! (container-id ??)
Étape 3 : Mais docker ps
affiche une liste vide:
Mais quand je répète l'étape 2, on me dit que le conteneur ( containerkommando
) existe déjà:
docker run -d --name containerkommando imagekommando
Pourriez-vous m'aider, comprendre la logique derrière? Et comment puis-je faire fonctionner le conteneur (par ID)?
5 Réponses :
docker ps
n'affiche que les conteneurs actifs (ceux en cours d'exécution).
Votre conteneur s'est probablement arrêté juste après son démarrage. Vous pouvez utiliser l'ID du conteneur et créer docker logs
pour examiner la raison de l'échec du conteneur.
Si vous voulez voir les conteneurs arrêtés avec les conteneurs en cours d'exécution, vous pouvez faire docker ps -a
pour obtenir une liste de tous ceux-ci.
Cela signifie que le conteneur du docker s'est terminé avec une erreur mais qu'un nettoyage est requis. Avec l'option --rm, vous pouvez dire au docker de supprimer le conteneur lorsque le conteneur est sorti.
docker logs <container_id>
Aussi pour vérifier la raison de la fermeture du conteneur ... vous pouvez utiliser
docker run --rm .....
Ce qui se passe probablement ici:
docker run ...
crée et démarre votre conteneur docker ps
ne répertorie pas les conteneurs arrêtés (la valeur par défaut montre juste en cours d'exécution), donc cela vous a fait penser que ce n'est pas là. docker run ...
échoue car vous essayez de créer et d'exécuter un conteneur avec un nom qui existe déjà. Lectures complémentaires:
Dans Docker, un conteneur est automatiquement quitté lorsque la tâche est terminée. Vous devez spécifier un point d'entrée correct pour garder votre conteneur Docker en place.
Vous pouvez vérifier les conteneurs sortis avec la commande docker ps -a
. Ce conteneur fermé vous empêchera d'utiliser à nouveau le nom.
Vous pouvez donc utiliser docker rm
avant de créer votre nouveau conteneur. Dans un environnement de test, vous pouvez également utiliser docker system prune
pour nettoyer tous les conteneurs / réseaux inutilisés.
Exécutez
docker logs <CONTAINER ID>
pour afficher les journaux de l'exécution du conteneur docker.
J'ai rencontré un problème similaire en découvrant qu'il y avait un problème d'espace gagner mon docker. Après avoir libéré de l'espace, le conteneur a pu s'exécuter.
Votre conteneur est probablement sorti. Essayez
docker ps -a
.J'ai résolu le problème en installant nodemon
RÉSOLU: ... (npm install --save nodemon) qui était répertorié dans package.json. Ensuite, j'ai reconstruit l'image et exécuter un nouveau conteneur basé sur l'image (docker run -d ...)!