Docker的pid命名空间和主机
当我们在docker和host系统中运行同一个进程时,从审计日志的angular度来看它是如何区分的?
我可以在主机系统中查看docker中运行的进程吗?
您不会在docker和host中运行相同的进程(相同的pid),因为容器的目的是提供隔离 (进程和文件系统)
我在你之前的问题“ 内核级别的Docker命名空间 ”中提到,在容器中运行的进程的pid可以从主机上看到。
但是就审计日志而言,您可以configuration日志logging驱动程序以仅跟踪容器,忽略直接在主机上运行的进程。
例如,在本文中 ,Markconfigurationrsyslog
以将Docker日志分离到它们自己的文件中。
为此,请创build
/etc/rsyslog.d/10-docker.conf
并使用您喜欢的文本编辑器将以下内容复制到文件中。
# Docker logging daemon.* { /var/log/docker.log stop }
总而言之,这将把守护程序类别的所有日志写入
/var/log/docker.log
然后停止处理该日志条目,使其不写入系统默认syslog文件。
这应该足以将主机进程日志(在常规系统日志中)与在容器中运行的日志(在/var/log/docker.log
)区/var/log/docker.log
Update 2016年5月: 问题10163和--pid=container:id
由docker 1.12的PR 22481closures,允许join另一个容器的PID名称空间。