Docker посмотреть все контейнеры linux

Содержание
  1. Список контейнеров Docker
  2. Синтаксис команды docker ps
  3. Запущенные контейнеры Docker
  4. Выводы
  5. Как вывести список контейнеров в Docker
  6. Как вывести список запущенных контейнеров
  7. Объяснение вывода
  8. Как вывести список всех контейнеров Docker
  9. Чем отличаются запущенные и остановленные контейнеры в списке
  10. Как вывести последние созданные контейнеры
  11. Зачем может понадобиться вывести список последних созданных контейнеров
  12. Откат при возникновении проблем, связанных с последним обновлением
  13. Ограниченные ресурсы для развертывания контейнеров
  14. Отключение усечения
  15. Вывод списка только идентификаторов (тихий режим)
  16. Сценарии, при которых требуются только идентификаторы контейнеров
  17. Среда оркестровки
  18. Соединение контейнеров
  19. Просмотр размера контейнера
  20. Дополнительная колонка Size в выводе
  21. Настройка вывода списка контейнеров
  22. Примеры настройки отображаемой информации
  23. Использование расширенных фильтров
  24. Примеры фильтрации на основе различных критериев
  25. Заключение

Список контейнеров Docker

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

Для просмотра списка контейнеров используется команда docker ps. Она позволяет смотреть как запущенные контейнеры Docker, так и все контейнеры, которые есть в системе.

Синтаксис команды docker ps

В синтаксисе команды вообще нет ничего сложного:

$ docker ps опции

  • —all , -a — вывести все контейнеры, и запущенные и не запущенные;
  • —filter , -f — фильтровать контейнеры при выводе;
  • —format — более красивый вывод списка контейнеров;
  • —last , -n — показать только N последних созданных контейнеров;
  • —latest , -l — вывести только последний контейнер;
  • —no-trunc — не обрезать вывод программы;
  • —quiet , -q — отображать только цифровые идентификаторы контейнеров;
  • —size , -s — отображать размер контейнера.

А теперь разберёмся более подробно, как посмотреть контейнеры Docker.

Запущенные контейнеры Docker

По умолчанию docker ps выводит только запущенные контейнеры и при этом обрезает слишком длинные поля:

Чтобы вывести контейнеры, не обрезая информацию, используйте параметр —no-trunc:

Для того чтобы посмотреть не только запущенные контейнеры, а все, используйте опцию -a:

Вы можете фильтровать контейнеры по имени, например, вывести только те, в имени которых содержится Ubuntu1804:

docker ps —filter name=Ubuntu1804

Есть и другие фильтры, но я не буду здесь их описывать, если они вам нужны, посмотрите официальную документацию. Для того чтобы вывести в список контейнеров Docker дополнительно размер контейнера, используйте опцию -s:

Команда показывает два размера. Первый из них — это объём, занимаемый записываемой частью контейнера. Второй размер -виртуальный, это общее пространство, занимаемое и записываемой частью контейнера, и доступными только для чтения данными образа.

Опция -l может использоваться для просмотра только последнего созданного образа. Это может быть полезно, например, чтобы узнать его идентификатор:

Если вас интересует, где хранятся контейнеры docker , то тут вам поможет команда docker inspect. Она позволяет смотреть подробную информацию про контейнер. У контейнера есть несколько папок для различных целей, давайте посмотрим MergedDir:

Читайте также:  Create file group linux

С тем же успехом вы можете смотреть LogPath или другие директории контейреа.

Выводы

Из этой статьи вы узнали, как выполнить просмотр контейнеров Docker. Это довольно простая задача по сравнению с созданием контейнера, но тоже не менее важная.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Как вывести список контейнеров в Docker

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

От редакции Techrocks: познакомиться с контейнерами Docker можно, почитав статью «Docker: объяснение на пальцах».

Как вывести список запущенных контейнеров

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

Список запущенных контейнеров

Объяснение вывода

Выполнив команду docker ps , вы получите вывод, как на скриншоте выше. Это информация о каждом запущенном контейнере, разбитая на семь столбцов.

  1. Container ID. Этот столбец содержит идентификаторы запущенных контейнеров.
  2. Image. Образы, использованные для создания контейнеров.
  3. Command. Команды, выполненные в фоне для инициализации и запуска каждого контейнера.
  4. Created. Время создания контейнеров.
  5. Status. Текущее состояние каждого контейнера. Возможные значения — running, exited, paused, removing, restarting и т.д.
  6. Ports. Ко всем контейнерам привязаны порты. С их помощью вы можете обратиться к сервису внутри контейнера. Например, если порт хоста 8080 привязан к 80-му порту контейнера, вы сможете получить доступ к веб-контенту контейнера, введя http://localhost:8080 в браузере на своей локальной машине.
  7. Names. Уникальные имена всех запущенных контейнеров.

Столбцы вывода

Как вывести список всех контейнеров Docker

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

Сравнение вывода двух команд. В одном все контейнеры, а в другом только запущенные.

Чем отличаются запущенные и остановленные контейнеры в списке

Чтобы отличить запущенный контейнер от остановленного в выводе команды docker ps -a, нужно обратить внимание на столбец Status. Если там значится что-то вроде «up 3 hours», это означает, что контейнер запущен и работает уже 3 часа. А если там написано что-то типа «Exited 4 hours go», это значит, что контейнер был остановлен 4 часа назад.

Отличия запущенных и остановленных контейнеров в поле Status

Как вывести последние созданные контейнеры

Для вывода списка последних созданных контейнеров раньше использовалась команда docker ps -l , но теперь она устарела. Теперь для вывода последнего контейнера можно использовать команду docker ps -n 1 . Число после n ограничивает количество выводимых контейнеров. То есть, если вам нужны пять последних контейнеров, нужно запустить команду docker ps -n 5 .

Читайте также:  Установка сервера nginx linux

Вывод списка последних контейнеров.

Зачем может понадобиться вывести список последних созданных контейнеров

Откат при возникновении проблем, связанных с последним обновлением

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

Ограниченные ресурсы для развертывания контейнеров

Предположим, у вас ограниченные ресурсы (CPU, RAM, место на диске и т.д.) и вы хотите эффективно их распределить. Для этого вам нужно отслеживать ресурсы, используемые последними созданными контейнерами. Получив список самых новых контейнеров, вы сможете внести изменения в их конфигурацию для обеспечения эффективности.

Отключение усечения

При выполнении команды docker ps вы обнаружите, что в выводе значения нескольких столбцов обрезаются. Это затрудняет восприятие информации, особенно когда вам нужны полные идентификаторы контейнеров или имена образов.

Чтобы отключить усечение полей, нужно использовать команду docker ps -no-trunc .

Пример вывода после отключения усечения:

Вывод информации в усеченном и полном виде

Вывод списка только идентификаторов (тихий режим)

Очень часто из всего вывода команды docker ps вам нужны лишь идентификаторы контейнеров. Чтобы ограничить вывод, можно воспользоваться специальной командой — docker ps -q .

Вывод идентификаторов контейнеров

Сценарии, при которых требуются только идентификаторы контейнеров

Среда оркестровки

Большинство компаний применяют инструменты оркестровки, такие как Kubernetes и docker swarm. Эти инструменты часто используют идентификаторы контейнеров для управления и планирования.

Соединение контейнеров

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

Просмотр размера контейнера

Как мы уже говорили ранее, наши ресурсы могут быть ограничены, поэтому нужно следить за использованием ресурсов каждым контейнером. Специальная команда — docker ps —size — позволяет вывести дисковое пространство, используемое каждым контейнером. Таким образом можно определить контейнеры, которые занимают много места на диске, и предпринять соответствующие действия.

Вывод дополнительного столбца с размером контейнеров

От редакции Techrocks: предлагаем также почитать «Как удалить образы Docker и освободить пространство».

Дополнительная колонка Size в выводе

Команда docker ps —size добавит дополнительный столбец в вывод списка контейнеров. В нем будут указаны фактический (общий) и виртуальный размер каждого контейнера.

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

Виртуальный размер. Когда все слои контейнера разделены и не используются совместно, виртуальный размер — это общий объем необходимого дискового пространства. Это совокупный размер всех слоев контейнера, включающий любые общие ресурсы, базовые изображения и дополнительные слои.

Настройка вывода списка контейнеров

Предположим, вы хотите получить вывод списка контейнеров, который будет содержать только выбранный вами столбец. В этом случае вы можете использовать команду docker ps с опцией —format и строкой-шаблоном Go. Шаблон Go непосредственно интегрирован в docker и может использоваться просто с командой docker, поскольку его синтаксис является родным для языка программирования Go, на котором построен сам docker.

Читайте также:  What is fifo in linux

Команда будет выглядеть примерно так: docker ps -format «GOTEMPLATE» .

Синтаксис строки шаблона Go: docker ps —format «ID: >, Name: >, Image: >, Status: >» .

Двойные фигурные скобки > используются для обозначения заполнителей для определенных свойств контейнера, таких как ID, Names, Image и Status. Эти заполнители будут заменены фактическими значениями при выполнении команды.

Примеры настройки отображаемой информации

Давайте настроим вывод таким образом, чтобы выводились только ID, образ и имя контейнера:

А вот вывод последних созданных контейнеров с ID контейнера, его статусом и дополнительной колонкой Size:

Использование расширенных фильтров

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

Ключ будет атрибутом контейнера, по которому вы хотите отфильтровать, а значение — условием, которое вы хотите применить к этому атрибуту. Обратите внимание, что filter можно повторять несколько раз с различными условиями.

Примеры фильтрации на основе различных критериев

Фильтрация по имени. Чтобы вывести информацию только по контейнеру с именем admiring_benz, нужно ввести команду docker ps -filter «name=admiring_benz» .

Фильтрация по статусу. Можно отфильтровать вывод по значению в столбце Status, например, exited, created или running. Для этого нужно применить следующие команды:

  • docker ps -filter «status=running»
  • docker ps -filter «status=exited»
  • docker ps -filter «status=created»

Фильтрация на основе меток. Пример фильтрации вывода с несколькими опциями —filter : для атрибута status и условия с label. Команда: docker ps —filter «status=created» —filter «label=com.example.version=1.0» .

Заключение

Вывод списка контейнеров полезен для управления контейнерами. Информация из этого списка применяется при соединении различных контейнеров для совместного использования ресурсов и мониторинга состояния и производительности конкретного контейнера.

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

Давайте повторим рассмотренные команды:

  1. При помощи команды docker ps можно получить список всех запущенных контейнеров.
  2. Используя команду docker ps с дополнительными опциями ( docker ps -n 5 , docker ps -a , docker ps -q ), можно получить список последних контейнеров, список только идентификаторов контейнеров и список контейнеров в различных состояниях (запущенных, остановленных, созданных и т.д.).
  3. Вывод команды docker ps можно настроить, добавив в команду ключевое слово format , за которым следует шаблон Go (например, docker ps -format «TEMPLATE» ).
  4. Мы также можем использовать дополнительные фильтры на основе атрибутов, чтобы получить в выводе информацию об определенных контейнерах.
  5. Можно добавить в вывод фактический и виртуальный размер каждого контейнера. Для этого используется команда docker ps —size .

Источник

Оцените статью
Adblock
detector