如何访问Docker容器的Windows事件日志

Gre*_*ner 19 docker windows-server-2016

如何从主机访问Microsoft Docker容器的Windows事件日志?

我在Windows Server 2016下有一个docker容器.

容器基于image:microsoft/iis

我可以通过以下方式获取容器的IP地址:

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" my-running-site
Run Code Online (Sandbox Code Playgroud)

如何通过Windows主机上的事件查看器连接到它?

小智 11

为容器创建一个powershell 会话

docker exec -it  <container_id> powershell
Run Code Online (Sandbox Code Playgroud)

然后从容器中,获取最新的事件日志

Get-Eventlog -newest 20 application
Run Code Online (Sandbox Code Playgroud)

以上命令将帮助您找到索引,

(Get-Eventlog -index xxx application).message
Run Code Online (Sandbox Code Playgroud)


Ste*_*ims 5

在 PWSH(Powershell 核心)上:

Get-WinEvent -LogName Application
Run Code Online (Sandbox Code Playgroud)


use*_*864 4

Docker 引擎记录到 Windows“应用程序”事件日志,而不是文件。可以使用 Windows PowerShell 轻松读取、排序和过滤这些日志

例如,这将显示最近 5 分钟的 Docker 引擎日志,从最早的日志开始。

Get-EventLog -LogName Application -Source Docker -After (Get-Date).AddMinutes(-5) | Sort-Object Time 
Run Code Online (Sandbox Code Playgroud)

  • 我不认为这是一个解决方案,因为你只能获得 Docker 的源代码,而不是容器内运行的进程。 (3认同)