🐳 Использование команд docker logs –follow и –tail |

🐳 Использование команд docker logs –follow и –tail

Мануал

Для разработчиков или инженеров DevOps/SecOps всегда важно просматривать логи приложения, чтобы отладить определенные проблемы или понять события, происходящие в вашем приложении.

В контексте Docker вы можете получить доступ к журналам Docker-контейнера с помощью docker CLI.

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

В этой статье мы рассмотрим, как просматривать журналы контейнеров docker.

Настройка лабораторной среды

Давайте скачаем образ Nginx из публичного dockerhub с помощью следующей команды.

docker pull nginx

Далее запустим Docker с Nginx с помощью приведенной ниже команды.

docker run nginx:latest

Теперь давайте проверим, запущен ли контейнер docker, с помощью команды $ docker ps.

CONTAINER ID   IMAGE              COMMAND                  CREATED          STATUS                         PORTS                                     NAMES
dbc8526c6b7e   nginx:latest       "/docker-entrypoint.…"   19 seconds ago   Up 12 seconds                  80/tcp                                    modest_kowalevski

Использование команды docker logs

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

Эти логи собираются из потоков STDOUT и STDERR контейнеров docker.

Логи хранятся на хосте docker в формате JSON, и на каждый контейнер всегда приходится один файл лога.

Синтаксис команды docker logs показан ниже.

docker logs <container ID>

Давайте разберемся в этом на примере.

Использование команды docker logs –follow

Теперь, когда контейнер запущен и работает, давайте просмотрим логи контейнера docker

docker logs dbc8526c6b7e

где мы указываем ID контейнера в команде и видим в терминале следующий вывод.

Эта команда покажет логи указанного контейнера docker.

Однако вы не сможете просматривать вывод непрерывно.

Чтобы просматривать логи непрерывно, мы можем создать непрерывный поток вывода на терминал с помощью опции –follow.

docker logs --follow <container ID>

Приведенная выше команда будет передавать последние выходные данные из контейнеров stdout и stderr, и вы сможете отслеживать логи в режиме реального времени до тех пор, пока не остановите процесс.

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

Использование команды docker logs –tail

Должна возникнуть ситуация, когда вы хотите ограничить количество строк лога контейнера, выводимых на экран.

Как же это сделать?

Команды logs у Docker предоставляют опцию –tail, которая может помочь достичь этой цели.

Давайте рассмотрим это на примере.

docker logs --tail <number> <container_id>

Давайте просмотрим 10 строк вывода нашего контейнера Nginx с помощью приведенной ниже команды.

docker logs --tail 10 dbc8526c6b7e

Заключение

В этой статье мы узнали о том, как просматривать логи контейнеров docker.

см. также:

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий