Как перечислить запущенные и остановленные контейнеры Docker

DockerBeginner
Практиковаться сейчас

Введение

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

Понимание контейнеров Docker

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

Что такое контейнеры Docker?

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

Преимущества контейнеров Docker

  • Согласованность: Контейнеры гарантируют, что приложение и его зависимости упакованы вместе, устраняя проблему «работает на моей машине».
  • Переносимость: Контейнеры легко перемещаются между различными средами, от разработки до производства, без необходимости сложных изменений конфигурации.
  • Масштабируемость: Контейнеры легко масштабируются вверх или вниз, позволяя вам изменять выделенные ресурсы для вашего приложения в зависимости от спроса.
  • Эффективность: Контейнеры лёгкие и используют операционную систему хоста, что делает их более эффективными, чем традиционные виртуальные машины.

Архитектура Docker

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

graph LD
    subgraph Архитектура Docker
        client[Клиент Docker] -- API --> daemon[Демон Docker]
        daemon -- Pulls Images --> registry[Репозиторий Docker]
        daemon -- Manages --> container[Контейнеры Docker]
    end

Образы и контейнеры Docker

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

Перечисление запущенных контейнеров Docker

После запуска контейнеров Docker вам может потребоваться перечислить и управлять ими. Для перечисления запущенных контейнеров Docker можно использовать команду docker ps.

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

Для перечисления всех запущенных контейнеров Docker используйте следующую команду:

docker ps

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

Вы также можете добавить дополнительные параметры к команде docker ps, чтобы настроить вывод. Например:

docker ps -a

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

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

Это отобразит идентификатор контейнера, образ и статус в табличном формате.

Фильтрация запущенных контейнеров

Вы также можете фильтровать список запущенных контейнеров с помощью различных параметров. Например:

docker ps -f "status=running"

Это позволит отобразить только контейнеры, которые в данный момент запущены.

docker ps -f "name=mycontainer"

Это позволит отобразить только контейнеры с именем "mycontainer".

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "status=running"

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

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

Перечисление остановленных контейнеров Docker

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

Перечисление остановленных контейнеров

Для перечисления всех остановленных контейнеров Docker используйте следующую команду:

docker ps -a -f "status=exited"

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

Вы также можете использовать опцию --format, чтобы настроить вывод:

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

Это отобразит идентификатор контейнера, образ и статус в табличном формате.

Фильтрация остановленных контейнеров

Вы также можете фильтровать список остановленных контейнеров с помощью различных параметров. Например:

docker ps -a -f "status=exited" -f "name=mycontainer"

Это позволит отобразить только остановленные контейнеры с именем "mycontainer".

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "name=mycontainer"

Это отобразит идентификатор контейнера, образ и статус всех остановленных контейнеров с именем "mycontainer" в табличном формате.

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

Резюме

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