Dockerコンテナのリソース利用状況をコンテナ内から把握する
dockerには docker stats
というコマンドが用意されており、ホストからdockerコンテナの状態を知ることができます。
ホストからこのコマンドを叩けばdockerコンテナのリソース利用状況の一覧を取得できます。
またこの docker stats
相当のREST APIも提供されております。
ホストからこんな感じでも情報を取得可能です。
curl --unix-socket /var/run/docker.sock http://localhost/containers/CONTAINER_ID/stats
dockerコンテナ内からこの値も参照したい場合の方法
ホストからは参照できますが、dockerコンテナ内からも参照したいときがあるかもしれません。
その場合は、dockerコンテナ内のファイルを読み込むことで参照もできます。
cat /proc/self/mountinfo
で sys
のmount先などを確認します。
それで、下記などを見てなんとなくファイルを特定します。
例はこんな感じです。
# cat /sys/fs/cgroup/cpu/cpu.stat nr_periods 9798 nr_throttled 88 throttled_time 1975163917