Показать остановленные контейнеры Docker

Я новичок в Docker, и я хотел бы перечислить остановленные контейнеры.

С docker ps:

sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Ничего не появляется, потому что я перезапустил машину и не настроил их на автоматический запуск контейнеров.

Поэтому, когда я пытаюсь запустить контейнер, он говорит:

sudo docker run -d -p 8080:80 --name=angular_moviemasher  moviemasher/angular-moviemasher
docker: Error response from daemon: Conflict. The name "/angular_moviemasher" is already in use by container b4428b708711c15233f558e70f58cb7800e23c4a6a57534abfa5818912630a37. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.

Поэтому я хотел бы посмотреть, какие контейнеры Docker уже установлены, и запустить их.

В документации Docker Cheat Sheet с примерами я могу найти только пример того, как показывать работающие контейнеры:

Информация о контейнере

Показать работающие контейнеры. С опцией -a он показывает запущенные и остановленные контейнеры.

докер PS

Ответ 1

Как вы сказали, docker ps -a покажет остановленные и запущенные контейнеры (все контейнеры). Следующая команда покажет вам остановленные контейнеры.

docker ps -a | grep Exit

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

Ответ 2

Хорошо ты дал себе ответ:

Информация о контейнере

Чтобы показать запущенные контейнеры. Если параметр -a, он показывает остановлены контейнеры.

docker ps

Итак, попробуйте

sudo docker ps -a

Ответ 3

Если docker ps -a ничего не показывает после перезапуска машины, попробуйте перезапустить демон Docker (иногда это происходит со мной и после выключения).

Ответ 4

Другой вариант, не упомянутый в ответах выше:

docker container list --all

Он был добавлен в Docker 1.13 (январь 2017 г.) и, похоже, является рекомендуемым синтаксисом:

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

docker container list
docker container start
docker image history

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