2
votes

docker ps affiche une liste vide - bien que le docker indique que le conteneur existe

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:

    images docker

  • Étape 2 : j'ai créé un conteneur (en arrière-plan) basé sur mon image

    docker run -d --name containerkommando imagekommando
    

    docker run -d --name containerkommando imagekommando

    J'ai une identité! (container-id ??)

  • Étape 3 : Mais docker ps affiche une liste vide:

    docker ps

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

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)?


3 commentaires

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 ...)!


5 Réponses :


0
votes

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.


0 commentaires

1
votes

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 .....


0 commentaires

2
votes

Ce qui se passe probablement ici:

  1. docker run ... crée et démarre votre conteneur
  2. votre conteneur sort
  3. 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à.
  4. 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:


0 commentaires

0
votes

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.


0 commentaires

0
votes

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.


0 commentaires