Показать остановленные контейнеры 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. Старый командный синтаксис все еще поддерживается, но мы призываем всех принять новый синтаксис.