3.1 Основи команди docker ps
Команда docker ps — одна з найкорисніших в арсеналі Docker. Вона відображає список працюючих контейнерів та надає інформацію про них. У цій лекції ми детально розглянемо, як використовувати docker ps, щоб перевірити стан твоїх контейнерів і які параметри доступні для більш детального виводу інформації.
За замовчуванням команда docker ps виводить список лише тих контейнерів, які зараз запущені.
Синтаксис
docker ps [OPTIONS]
Де:
-
OPTIONS: додаткові параметри для фільтрації та форматування виводу.
Приклад базового використання
docker ps
Цей базовий виклик команди docker ps виведе список усіх запущених контейнерів. Вивід буде включати наступні поля:
- CONTAINER ID: унікальний ідентифікатор контейнера.
- IMAGE: образ, з якого був створений контейнер.
- COMMAND: команда, яка виконується в контейнері.
- CREATED: час, що минув з моменту створення контейнера.
- STATUS: поточний стан контейнера (наприклад, Up 5 minutes).
- PORTS: перенаправлені порти.
- NAMES: ім'я контейнера.
Список усіх контейнерів
Для відображення усіх контейнерів, включаючи зупинені, використовуй опцію -a:
docker ps -a
Ця команда виведе список усіх контейнерів, запущених коли-небудь, із зазначенням їх поточного стану (запущений, зупинений тощо).
3.2 Фільтрація виводу
Docker дає можливість фільтрувати вивід команди docker ps, щоб показувати тільки ті контейнери, які відповідають заданим критеріям.
1. Фільтрація за статусом
Наприклад, щоб показати тільки зупинені контейнери:
docker ps -f "status=exited"
2. Фільтрація за ім'ям
Щоб показати контейнери з визначеним ім'ям або його частиною:
docker ps -f "name=my_container"
3. Фільтрація за образом
Щоб показати контейнери, створені з конкретного образу:
docker ps -f "ancestor=nginx"
3.3 Форматування виводу
Ти можеш налаштувати вивід команди docker ps, щоб зробити його більш читабельним або включити лише ті поля, які потрібні. Для цього використовується параметр --format.
Приклад форматування
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Цей приклад виводить таблицю з ідентифікатором контейнера, його ім’ям і статусом.
Доступні стовпці таблиці
- {{.ID}}: ідентифікатор контейнера.
- {{.Image}}: образ контейнера.
- {{.Command}}: команда, яка виконується у контейнері.
- {{.CreatedAt}}: час створення контейнера.
- {{.RunningFor}}: час роботи контейнера.
- {{.Status}}: поточний стан контейнера.
- {{.Ports}}: перенаправлені порти.
- {{.Names}}: ім’я контейнера.
Приклади використання
Приклад 1: відображення лише ідентифікаторів контейнерів
Цей приклад відобразить лише ідентифікатори запущених контейнерів. Корисно для використання у скриптах.
docker ps -q
Приклад 2: відображення контейнерів, запущених за останні 24 години
docker ps --filter "since=24h"
Приклад 3: відображення контейнерів з певним статусом та форматування виводу
Цей приклад відобразить таблицю з іменами контейнерів, їхнім статусом та перенаправленими портами для всіх запущених контейнерів.
docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
3.4 Практичні сценарії
1. Моніторинг запущених контейнерів
Коли у вас запущено кілька контейнерів, команда docker ps дозволяє швидко перевірити їх поточний стан і переконатися, що все працює коректно.
docker ps
2. Пошук і видалення зупинених контейнерів
Після завершення роботи контейнерів вони залишаються в системі доти, доки ви їх не видалите. Ви можете використовувати docker ps -a, щоб знайти всі зупинені контейнери, а потім видалити їх.
docker ps -a -f "status=exited"
docker rm $(docker ps -a -f "status=exited" -q)
3. Автоматизація завдань
Використання команди docker ps у скриптах дозволяє автоматизувати різні завдання адміністрування контейнерів. Наприклад, ви можете створювати звіти про стан контейнерів або автоматично перезапускати контейнери, якщо вони зупинені.
if [ $(docker ps -q -f "name=my_container") ]; then
echo "Container is running"
else
docker start my_container
fi
Важливо! Цей “код” написаний у терміналі Linux. Можливо, тобі доведеться його вивчити.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ