JavaRush /Курси /Модуль 2: Fullstack /Робота з логами контейнерів

Робота з логами контейнерів

Модуль 2: Fullstack
Рівень 12 , Лекція 3
Відкрита

4.1 Основи команди docker logs

Команда docker logs — зручний інструмент для моніторингу та налагодження контейнерів. За її допомогою розробники та системні адміністратори переглядають логи контейнерів, що допомагає в діагностиці проблем і аналізі роботи додатків. У цій лекції ми детально розглянемо, як використовувати команду docker logs, які параметри доступні та як ефективно керувати логами.

Команда docker logs виводить логи вказаного контейнера. Ці логи включають всі повідомлення, записані процесами всередині контейнера у стандартні потоки виводу (stdout) та помилок (stderr).

Синтаксис


docker logs [OPTIONS] CONTAINER

Де:

  • CONTAINER: ім'я або ідентифікатор контейнера, чиї логи ви хочете переглянути.
  • OPTIONS: додаткові параметри для налаштування виводу логів.

Приклад базового використання

Ця команда виведе всі накопичені логи контейнера my_container.

Terminal


docker logs my_container

4.2 Параметри команди docker logs

Команда docker logs підтримує кілька опцій, які дозволяють налаштувати вивід логів для конкретних потреб.

1. Перегляд логів в реальному часі

Для перегляду логів в реальному часі використовується параметр -f (follow). Цей параметр дозволяє стежити за оновленнями логів у міру їх появи, подібно до команди tail -f.

Terminal


docker logs -f my_container 

2. Обмеження кількості виведених рядків

Ви можете обмежити кількість рядків, виведених командою docker logs, за допомогою параметра --tail. Це корисно, якщо вам потрібні лише останні рядки логів, а не весь журнал.

Terminal


docker logs --tail 100 my_container 

Цей приклад виведе лише останні 100 рядків логів контейнера my_container.

3. Вивід логів з визначеного часу

Параметр --since дозволяє виводити логи, починаючи з вказаного часу. Час може бути вказаний у форматі часової позначки (наприклад, 2023-07-20T15:00:00) або відносному форматі (наприклад, 1h для логів за останню годину).

Terminal


docker logs --since "2023-07-20T15:00:00" my_container 

Або

Terminal


docker logs --since 1h my_container 

4. Вивід логів до визначеного часу

Параметр --until дозволяє виводити логи до вказаного часу. Формат часу аналогічний параметру --since.

Terminal


docker logs --until "2023-07-20T16:00:00" my_container 

Або

Terminal


docker logs --until 10m my_container 

5. Об'єднання stdout і stderr

За замовчуванням команда docker logs виводить як стандартний потік виводу (stdout), так і стандартний потік помилок (stderr). Ви можете вказати, які потоки виводити, використовуючи параметри --stdout і --stderr.

Terminal


docker logs --stdout my_container 

Цей приклад виведе лише повідомлення зі стандартного потоку виводу.

4.3 Приклади використання

Приклад 1: перегляд останніх рядків логів та слідкування за оновленнями

Цей приклад виведе останні 50 рядків логів контейнера my_container і буде слідкувати за новими записами в реальному часі.

Terminal


docker logs -f --tail 50 my_container 

Приклад 2: виведення логів за останні 24 години

Цей приклад виведе всі логи, накопичені за останні 24 години для контейнера my_container.

Terminal


docker logs --since 24h my_container 

Приклад 3: виведення логів за певний часовий проміжок

Цей приклад виведе логи, записані у період з 15:00 до 16:00 20 липня 2023 року для контейнера my_container.

Terminal


docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container 

4.4 Практичні сценарії

1. Відлагодження додатка

Якщо твій додаток працює некоректно або “падає”, перегляд логів може допомогти знайти проблему. Використовуй команду docker logs, щоб знайти помилки та попередження в логах.

Terminal


docker logs my_app_container 

2. Моніторинг роботи сервера

Для моніторингу роботи сервера в реальному часі ти можеш використовувати команду docker logs з опцією -f.

Terminal


docker logs -f web_server_container 

Це дозволяє спостерігати за запитами та відповідями сервера в реальному часі.

3. Аналіз продуктивності

Якщо тобі потрібно проаналізувати продуктивність додатка за певний період часу, використовуй параметри --since та --until.

Terminal

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ