簡體   English   中英

Docker pid名稱空間和主機

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM