2017-11-02 3 views
0

これはドッカーフォーラムで作成したpostの複製です。したがって、この問題が解決されると、私はこの/もう一方を閉じるつもりです。しかし、誰もドッカーフォーラムで回答しておらず、私の問題が解決しないままになっているので、もう一度ポストしてください。ドッカー - アクセスホスト/ proc

私はドッキング用のコンテナとしてサーバー監視アプリケーションを公開したいと考えています。私が書いたappは/ procに依存して、CPU使用率やディスク統計などのシステム情報を読み込みます。したがって、私はホスト/ proc仮想ファイルシステムで提供された情報を私のドッカーコンテナに転送しなければなりません。

だから私は、単純な画像(ドッカウェブサイト上で第一または第二のイントロを使用して:Link)を作っRO -d:/ホストの/ proc:-v =/procのドッキングウィンドウの実行を

docker run -v=/proc:/host/proc:ro -d hostfiletest 

し、それを開始しましたhostfiletest 実行中のコンテナが/ host/procから読み込み、ホストシステムに関する情報を取得できると仮定します。

私がチェックするために、コンテナ内のコンソールを解雇:

docker exec -it {one of the funny names the container get} bash 

および/ホストの/ procの内容を確認しました。

最も簡単な方法は、/ host/proc/sys/kernel/hostnameの内容を取得していて、vm iamのホスト名を生成する必要があります。 しかし、私はコンテナのホスト名を取得しますが、/ host/proc/uptimeはvmの正しい稼働時間を取得します。

ここに何かがありますか?たぶん何か概念的?

ドッカーバージョン17.05.0-CEは、Linuxの4.4.0-97-ジェネリック上で実行されている89658beを構築(VM)

アップデート:私はいくつかの記事は、内部の特定の監視アプリケーションを実行する方法を説明した

前述の同じ方法を使用して含有する。

アップデート: - 同じ動作

ただ、既存のUbuntuの画像を使用してみました。 privilegedとpid = hostというイメージを実行しても問題はありません。

挨拶 Peepe

+0

https://hub.dockerを確認してください。com/r/frapsoft/atop /と 'docker run --pid = host' – user2915097

+0

まだ同じ問題です。/prochost/sys/kernel/hostnameは、コンテナのホスト名と/ prochost/mountsのコンテナのマウント数を返します。 – Peepe

答えて

0

ノーその数ヵ月後に知っているが、私は今日、同じ問題に出くわしました。

私のケースでは、私はpsutilをPythonで使用して、ドッカーコンテナの中からホストのディスク統計を読み込んでいました。

ソリューションは-v /:/rootfs:roでのみドッキングウィンドウコンテナに読み込まれpsutil.PROCFS_PATH = '/rootfs/proc'としてPROCへのパスを指定するよう全体ホストファイルシステムをマウントすることでした。

psutil.disk_partitions()には、ホストファイルシステムのすべてのパーティションが一覧表示されます。ホスト名もproc階層に含まれているので、取得コマンドが/rootsfs/procを指している限り、これは他のホストシステム情報にも当てはまります。