Как просмотреть инвентаризацию контейнеров Docker

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

Введение

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

Обзор контейнеров Docker

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

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

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

Изоляция

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

graph TD A[Операционная система хоста] --> B[Контейнер 1] A --> C[Контейнер 2] A --> D[Контейнер 3]

Переносимость

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

Эффективность

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

Контейнер против виртуальной машины

Характеристика Контейнер Docker Виртуальная машина
Использование ресурсов Лёгкий Тяжёлый
Время запуска Секунды Минуты
Уровень изоляции Уровень процессов Полная система
Производительность Высокая Низкая

Общие варианты использования

  1. Архитектура микросервисов
  2. Непрерывная интеграция/непрерывная доставка (CI/CD)
  3. Разработка облачных приложений
  4. Среды разработки и тестирования

Базовый рабочий процесс с контейнерами Docker

graph LR A[Изображение Docker] --> B[Создать контейнер] B --> C[Запустить контейнер] C --> D[Запустить приложение] D --> E[Остановить контейнер] E --> F[Удалить контейнер]

Начало работы с LabEx

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

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

Основные команды для перечисления контейнеров Docker

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

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

docker ps

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

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

docker ps -a

Расширенные методы перечисления контейнеров

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

Docker предоставляет мощные возможности фильтрации для просмотра определённых контейнеров:

## Фильтрация по статусу
docker ps -f "status=running"

## Фильтрация по образу
docker ps -f "ancestor=ubuntu:latest"

Настройка формата вывода

Настройте вывод списка контейнеров с указанием определённых столбцов:

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

Визуализация инвентаря контейнеров

graph TD A[Команда Docker] --> B{Тип перечисления} B --> |Запущенные контейнеры| C[docker ps] B --> |Все контейнеры| D[docker ps -a] B --> |Отфильтрованные контейнеры| E[docker ps -f]

Детальная информация о контейнере

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

Получите подробную информацию о конкретном контейнере:

docker inspect [CONTAINER_ID]

Атрибуты инвентаря контейнеров

Атрибут Описание Пример
ID контейнера Уникальный идентификатор контейнера a1b2c3d4e5f6
ИЗОБРАЖЕНИЕ Базовый образ, используемый ubuntu:latest
КОМАНДА Выполняемая команда /bin/bash
СОЗДАН Время создания контейнера 2 часа назад
СТАТУС Текущий статус контейнера Запущен 45 минут
ПОРТЫ Открытые порты 80/tcp
ИМЕНА Имя контейнера friendly_newton

Совет LabEx Pro

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

Практические сценарии

  1. Мониторинг жизненного цикла контейнеров
  2. Устранение неполадок при развертывании контейнеров
  3. Управление несколькими средами контейнеров
  4. Аудит ресурсов контейнеров

Методы управления контейнерами

Управление жизненным циклом контейнеров

Запуск контейнеров

Запустите контейнер с помощью команды docker start:

docker start [CONTAINER_ID]

Остановка контейнеров

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

docker stop [CONTAINER_ID]

Перезапуск контейнеров

Перезапустите контейнер одной командой:

docker restart [CONTAINER_ID]

Рабочий процесс жизненного цикла контейнера

graph TD A[Создать контейнер] --> B[Запустить контейнер] B --> C{Статус контейнера} C --> |Запущен| D[Выполнить команды] C --> |Остановлен| E[Перезапустить/Удалить] D --> F[Остановить контейнер] F --> G[Удалить контейнер]

Расширенное управление контейнерами

Интерактивный запуск контейнеров

Запустите интерактивную оболочку внутри контейнера:

docker run -it ubuntu:latest /bin/bash

Выполнение команд в запущенных контейнерах

Выполните команды в активном контейнере:

docker exec [CONTAINER_ID] command

Управление ресурсами контейнеров

Ограничение ресурсов контейнеров

Управляйте использованием ЦП и памяти:

docker run --cpus=2 --memory=1g ubuntu:latest

Мониторинг использования ресурсов

Отслеживайте производительность контейнера:

docker stats [CONTAINER_ID]

Методы управления контейнерами

Метод Команда Описание
Создание docker create Подготовка контейнера без запуска
Запуск docker run Создание и запуск контейнера
Остановка docker stop Корректно остановить контейнер
Удаление docker rm Удалить контейнер
Приостановка docker pause Временно заморозить контейнер

Сетевое взаимодействие контейнеров

Картирование портов

Открыть порты контейнера для хоста:

docker run -p 8080:80 nginx:latest

Создание пользовательской сети

Создайте изолированные сети контейнеров:

docker network create mynetwork
docker run --network=mynetwork nginx:latest

Резервное копирование и миграция контейнеров

Создание моментальной копии контейнера

Создайте образ из работающего контейнера:

docker commit [CONTAINER_ID] myimage:backup

Экспорт контейнера

Сохраните состояние контейнера для миграции:

docker export [CONTAINER_ID] > container.tar

Рекомендация LabEx

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

Лучшие практики

  1. Всегда используйте ограничения ресурсов
  2. Реализуйте надлежащий мониторинг контейнеров
  3. Регулярно удаляйте неиспользуемые контейнеры
  4. Используйте систему контроля версий для конфигураций контейнеров
  5. Реализуйте сканирование на безопасность

Резюме

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