Dockerイメージを実行してuptime
を呼び出すと、常に実際の値よりも長い値が得られます。
docker run -it 1d2dfb3a35ab
root@7efb3e947f73:/# uptime
23:41:57 up 16 min, 0 users, load average: 0.06, 0.02, 0.00
16秒間実行されておらず、16秒も実行されていません。 =:-O
これは既知の問題ですか、それとも何ですか?
表示される稼働時間は、ホストの稼働時間です。この方法では、カーネルは個々のコンテナーの稼働時間を追跡しません(Dockerは追跡します)。
最初のプロセスの開始時刻は、コンテナーの開始時刻として使用できます。
stat /proc/1/cmdline
/proc/1/cmdline
はprocfs内の仮想ファイルであり、その作成日はコンテナーの作成日と同じです。 statコマンドは、ファイルシステムレベルの属性と、それらの間の作成日を表示します。