Docker PS показывает пустой список - хотя Docker, говорящий контейнер существует - PullRequest
1 голос
/ 20 марта 2019

при вызове docker ps список пуст, хотя я получил идентификатор: (dcbb6aeaa06ba43fcb.....)

Мои шаги:

  • Шаг 1 : Я создал образ (imagekommando) работающего js.file:

    docker images

  • Шаг 2 : я создал контейнер (в фоновом режиме) на основе моего изображения

    docker run -d --name containerkommando imagekommando
    

    docker run -d --name containerkommando imagekommando

    У меня есть идентификатор! (Контейнер-идентификатор ??)

  • Шаг 3 : Но docker ps показывает пустой список:

    docker ps

Но когда я повторяю Шаг 2, мне говорят, что контейнер (containerkommando) уже существует:

docker run -d --name containerkommando imagekommando

docker run -d --name containerkommando imagekommando

Не могли бы вы помочь мне, понимая логику позади? И как я могу запустить контейнер (по идентификатору)?

Ответы [ 4 ]

1 голос
/ 20 марта 2019

Это означает, что Docker-контейнер вышел с ошибкой, но требуется очистка.С опцией --rm вы можете указать докеру удалить контейнер при выходе из контейнера.

docker run --rm .....

Также, чтобы проверить причину выхода из контейнера ... вы можете использовать

docker logs <container_id>
1 голос
/ 20 марта 2019

Что, вероятно, происходит здесь:

  1. docker run ... создает и запускает ваш контейнер
  2. ваш контейнер выходит
  3. docker ps не выводит список остановленных контейнеров (показы по умолчанию просто запущены), поэтому вы подумали, что его там нет.
  4. docker run ... не удается, потому что вы пытаетесь создать и запустить контейнер с именем, которое уже существует.

Дополнительная литература:

0 голосов
/ 20 марта 2019

В Docker контейнер автоматически закрывается после завершения задачи. Вы должны указать правильную точку входа, чтобы поддерживать ваш док-контейнер.

Вы можете проверить вышедшие контейнеры с помощью команды docker ps -a. Этот покинутый контейнер не позволит вам снова использовать имя.

Итак, вы можете использовать docker rm <container-name> перед созданием нового контейнера. В тестовой среде вы также можете использовать docker system prune для очистки всех неиспользуемых контейнеров / сетей.

0 голосов
/ 20 марта 2019

docker ps показывает только активные контейнеры (запущенные).

Ваш контейнер, скорее всего, вышел сразу после того, как вы его запустили. Вы можете использовать идентификатор контейнера и сделать docker logs <container-id>, чтобы выяснить причину сбоя контейнера.

Если вы хотите видеть остановленные контейнеры вместе с запущенными контейнерами, вы можете сделать docker ps -a, чтобы получить список всех этих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...