2015-10-25 9 views
5

ドッカーネームスペースとホストネームスペースとの違い、およびこれらの2つの間でpidのマッピング方法について教えてください。ソースコードを使用してホストnドッカー間でpidを簡単にマッピングできるようにするアイデアを誰かに教えてください。ドッカーとホスト間のPIDマッピング

答えて

5

私は「Running docker securely」で述べたように:

現在、ドッカーは、システムのプロセスのビューを変更する5つの名前空間を使用しています:プロセス、ネットワーク、マウント、ホスト名、共有メモリ。

私はあなたの前の質問で述べたように(あなたが--pid hostでそれらを実行しない限り)デフォルトでは、「Docker Namespace in kernel level」コンテナPIDがホストから隔離されている、という事実は仕様です。

--pid=hostを使用している場合は、ホストから表示できますが、issue 10163 and --pid=container:idが解決されるまでではなく、特定のコンテナに簡単に一致させることはできません。

更新日5月2016:issue 10163 and --pid=container:idは、ドッカー1.12の場合はPR 22481で実際に解決され、別のコンテナのPID名前空間に参加できます。

+0

ドッカーのコンテナ内でシェルスクリプトを実行し、それがいくつかのシステムコールを呼び出すと、その時間はホストまたはドッカープロセスのPID pidを渡しますか?ここで助けてください –

+0

@SowndaryaK --pid = hostを使用している場合、ドッカーコンテナ内のプロセスのpidは、ホストのpid名前空間の一部になります。 – VonC

3

/proc/PID/statusファイルにマッピングがあります。ホスト上の16950がコンテナ内24であることを意味

NSpid: 16950 24 

:それはのような行が含まれています。

関連する問題