[英]Docker pid namespace and Host
當我們在docker和主機系統中運行相同的進程時,從審核日志的角度來看,它如何將一個進程與另一個進程區分開?
我可以查看主機系統中docker中運行的進程嗎?
您不會在Docker和主機中運行相同的進程(相同的pid),因為容器的目的是提供隔離 (進程和文件系統)
我在您先前的問題“ 內核級Docker命名空間 ”中提到,可以從主機上看到容器中運行的進程的pid。
但是就審核日志而言,您可以配置日志記錄驅動程序以僅遵循容器,而忽略直接在主機上運行的進程。
例如,在本文中 ,Mark將rsyslog
配置為將Docker日志隔離到自己的文件中。
為此,創建
/etc/rsyslog.d/10-docker.conf
並使用您喜歡的文本編輯器將以下內容復制到文件中。
# Docker logging
daemon.* {
/var/log/docker.log
stop
}
總之,這會將守護程序類別的所有日志寫入
/var/log/docker.log
然后停止處理該日志條目,因此不會將其寫入系統默認的syslog文件。
這樣就足以清楚地區分主機進程日志(在常規syslog中)與在容器中運行的日志(在/var/log/docker.log
)
2016年5月更新: PR 22481針對docker 1.12關閉了問題10163和--pid=container:id
,允許加入另一個容器的PID名稱空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.