Что такое Lazydocker?
Lazydocker — это терминальная утилита с текстовым пользовательским интерфейсом (TUI) для управления Docker-контейнерами, образами, томами и сетями. Она предоставляет простой и интуитивно понятный интерфейс для выполнения повседневных операций с Docker без необходимости запоминать сложные команды.

Рисунок 1: Анимированое демо (откроется в новом окне)

Рисунок 2: Анимированое демо (откроется в новом окне)
Преимущества Lazydocker:
- Визуальный интерфейс для всех Docker-объектов
- Быстрый доступ к логам и статистике
- Упрощенное выполнение сложных команд
- Интерактивный мониторинг в реальном времени
- Кроссплатформенность
Установка и настройка
Установка через скрипт (Linux/macOS)
# Скачать и установить lazydocker
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
# Или через brew (macOS и Linux)
brew install lazydockerУстановка через Go
go install github.com/jesseduffield/lazydocker@latestУстановка через Docker
# Запуск как контейнер
docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /path/to/config:/.config/jesseduffield/lazydocker \
lazyteam/lazydockerУстановка в Windows
# Через Chocolatey
choco install lazydocker
# Через Scoop
scoop bucket add extras
scoop install lazydockerПроверка установки
lazydocker --versionИнтерфейс и основы работы
Запуск Lazydocker
# Базовый запуск
lazydocker
# С определенным проектом
lazydocker --project-dir ./my-project
# С фильтром контейнеров
lazydocker --filter "name=web"Структура интерфейса
Интерфейс разделен на несколько панелей:
- Главная панель — список контейнеров, образов, томов
- Панель логов — вывод логов выбранного контейнера
- Панель статуса — информация о системе и горячие клавиши
- Панель команд — ввод пользовательских команд
Основные горячие клавиши
[ESC]илиq— выход/назад[Tab]— переключение между панелями[Enter]— выбор элемента[Space]— множественный выборd— меню действий (docker commands)[и]— переключение между вкладками
Повседневное использование
Управление контейнерами
Просмотр и фильтрация контейнеров
# Запуск с фильтром по имени
lazydocker --filter "status=running"
# В интерфейсе используйте '/' для поискаОсновные операции с контейнерами
В интерфейсе Lazydocker вы можете выполнять:
- Запуск/остановка —
s(stop/start) - Перезагрузка —
r(restart) - Удаление —
dзатемremove - Просмотр логов —
l(logs) - Вход в контейнер —
e(exec)
Пример работы с контейнерами
# Создадим тестовый контейнер для демонстрации
docker run -d --name nginx-test -p 8080:80 nginx:alpineВ Lazydocker:
- Найдите контейнер
nginx-testв списке - Нажмите
lдля просмотра логов - Нажмите
sдля остановки контейнера - Нажмите
eдля входа в контейнер
Работа с образами
Просмотр образов
Перейдите на вкладку "Images" используя [ или ]
Операции с образами:
b— построить образ из Dockerfiled— удалить образ[Ctrl+R]— принудительное обновление реестра
Пример построения образа
# Создадим простой Dockerfile для демонстрации
mkdir test-app && cd test-app
cat > Dockerfile << EOF
FROM nginx:alpine
COPY . /usr/share/nginx/html
EOF
echo "Hello Lazydocker!" > index.htmlВ Lazydocker:
- Перейдите на вкладку "Images"
- Нажмите
b(build) - Введите путь к Dockerfile:
./test-app - Укажите имя образа:
my-nginx-app
Управление томами и сетями
Работа с томами
- Создание и удаление томов
- Просмотр содержимого томов
- Очистка неиспользуемых томов
Пример работы с томами
# Создадим том для демонстрации
docker volume create test-volume
docker run -d -v test-volume:/data --name volume-test alpine tail -f /dev/nullВ Lazydocker:
- Перейдите на вкладку "Volumes"
- Выберите
test-volume - Просмотрите информацию о томе
- Удалите том через меню действий (
d)
Примеры рабочих процессов
Разработка веб-приложения
Запуск development-окружения
# docker-compose.yml для примера
version: '3.8'
services:
web:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_DB: myapp
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:В Lazydocker:
# Запуск в директории с docker-compose.yml
lazydocker --project-dir ./my-app
# Операции:
# - Просмотр логов всех сервисов
# - Мониторинг использования ресурсов
# - Быстрая перезагрузка сервисовОтладка production-окружения
Мониторинг нескольких контейнеров
# Запуск с фильтром по проекту
lazydocker --filter "label=com.docker.compose.project=myproject"Типичный workflow отладки:
- Найти проблемный контейнер в списке
- Просмотреть логи (
l) - Проверить использование ресурсов (
m) - Выполнить команды внутри контейнера (
e) - Перезапустить сервис при необходимости (
r)
Управление микросервисной архитектурой
# Пример для мониторинга группы сервисов
lazydocker --filter "name=api" --filter "name=frontend" --filter "name=worker"Кастомизация и настройки
Конфигурационный файл
Lazydocker поддерживает конфигурацию через YAML-файл:
# Локация конфига по умолчанию
~/.config/jesseduffield/lazydocker/config.ymlПример кастомизации
gui:
# Цветовая схема
theme:
activeBorderColor:
- "#50fa7b" # зеленый
inactiveBorderColor:
- "#6272a4" # серый
# Размеры панелей
sidePanelWidth: 0.2
mainPanelHeight: 0.6
reporting: "off" # Отключить телеметрию
commandTemplates:
# Кастомные команды Docker
RestartContainer:
template: "docker restart {{ .Container.Name }}"
description: "Restart container"
# Кастомная команда для очистки
Cleanup:
template: "docker system prune -f"
description: "Clean unused docker objects"Пользовательские команды
Добавьте свои команды в конфиг:
customCommands:
containers:
- name: "View detailed info"
command: "docker inspect {{ .Container.Name }}"
attach: true
- name: "Copy container ID"
command: "echo {{ .Container.ID }} | pbcopy"
attach: falseИнтеграция с Docker Compose
dockerCompose:
# Автоматически использовать docker-compose.yml в текущей директории
autoRun: true
# Кастомные команды compose
commandTemplates:
Up: "docker-compose up -d"
Down: "docker-compose down"Полезные советы и трюки
Производительность и оптимизация
Ускорение работы с большим количеством контейнеров
# В config.yml
updateContainersInterval: 30 # Увеличить интервал обновления
gui:
# Отключить ненужные панели
showAllContainers: false
showIntermediateContainers: falseФильтрация для конкретных задач
# Только запущенные контейнеры
lazydocker --filter "status=running"
# Контейнеры определенного проекта
lazydocker --filter "label=com.docker.compose.project=myapp"
# По имени сервиса
lazydocker --filter "name=.*api.*"Расширенные возможности
Мониторинг в реальном времени
- Используйте
mдля просмотра метрик использования ресурсов [Ctrl+R]для принудительного обновления статистики
Быстрое выполнение команд
# Прямой запуск команд из терминала
lazydocker --command "logs nginx"Интеграция с CI/CD
# Пример скрипта для автоматизации
#!/bin/bash
# monitor-deployment.sh
# Запуск lazydocker для мониторинга деплоя
lazydocker --filter "name=deployment-" --command "follow logs"Безопасность
Безопасная работа с продакшеном
# Конфиг для production-окружения
confirmOnQuit: true
confirmKillAllContainers: true
confirmRemoveAllContainers: trueОграничение прав доступа
# Запуск с ограниченными правами
lazydocker --read-only
# Или через Docker с ограничениями
docker run --rm -it \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ./readonly-config.yml:/.config/jesseduffield/lazydocker/config.yml \
lazyteam/lazydockerРешение проблем
Проблемы с производительностью
# Увеличить интервалы обновления
updateContainersInterval: 60
updateImagesInterval: 120
updateVolumesInterval: 120Проблемы с отображением
gui:
# Изменить размер шрифта
fontSize: 12
# Альтернативные цветовые схемы
theme:
lightTheme: false # Переключить на темную темуЗаключение
Lazydocker — это мощный инструмент, который значительно упрощает работу с Docker в повседневной разработке и администрировании. Благодаря интуитивному интерфейсу и богатому функционалу, он позволяет:
- Эффективно управлять множеством контейнеров
- Быстро диагностировать проблемы
- Сократить время на рутинные операции
- Улучшить мониторинг Docker-окружения
Начните с базовых операций и постепенно осваивайте расширенные возможности, кастомизируя инструмент под свои нужды. Lazydocker станет незаменимым помощником в вашем workflow работы с Docker.
Дополнительные ресурсы
Как можно отблагодарить:
- Оформить удобную для вас подписку на Boosty.to
- Разово поддержать через DonationAlerts
