Как получить доступ к журналу событий Windows в контейнере Docker

Как мне получить доступ к Журналу событий Windows контейнера Microsoft Docker с хоста?

У меня есть контейнер докеров в Windows Server 2016.

Контейнер основан на изображении: microsoft/iis

Я могу получить ip-адрес контейнера:

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" my-running-site

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

Ответ 1

Docker Engine регистрируется в журнале событий приложения Windows, а не в файле. Эти журналы можно легко читать, сортировать и фильтровать с помощью Windows PowerShell

Например, это покажет журналы Docker Engine за последние 5 минут, начиная с самого старого.

Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time 

Ответ 2

Создать сеанс powershell для контейнера

docker exec -it  <container_id> powershell

Затем из контейнера, получить последние журналы событий

Get-Eventlog -newest 20 application

Выше команда поможет вам найти индекс,

(Get-Eventlog -index xxx application).message