🐳
【docker + OrbStack】🐳 macOS(Orbstack)で cAdvisor を使って Docker コンテナをモニタリン
Docker コンテナの CPU やメモリ使用状況を可視化したい時に便利なのが cAdvisor です。
ただし、macOS + Orbstack の環境では Linux ネイティブとは異なり、cAdvisor の設定にいくつか注意点があります。
この記事では、Orbstack 環境でも cAdvisor を正常に動かし、コンテナの情報を取得できる設定方法を紹介します。
✅ 実行コマンド(Orbstack/macOS 向け)
以下のコマンドをターミナルで実行してください。
docker rm -f cadvisor
docker run -d \
--name=cadvisor \
-p 9559:8080 \
-v /:/rootfs:ro \
-v /var/run:/var/run:rw \
-v /sys:/sys:ro \
-v /var/lib/docker/:/var/lib/docker:ro \
--privileged \
gcr.io/cadvisor/cadvisor:latest
- ポート
9559をホストに公開します(http://localhost:9559でアクセス)。 -
--privilegedを付けることで、制限された環境下でもある程度の情報を取得できます。 - Docker のメタデータや API にアクセスするために必要なボリュームをマウントしています。
📊 ブラウザで確認
コンテナ起動後、以下の URL にアクセスしてください:
http://localhost:9559
正常に動作していれば、以下のような情報が表示されます:
- コンテナ一覧(subcontainers)
- CPU 使用率グラフ
- メモリ使用量グラフ
- ネットワーク使用状況
🛠️ トラブルシューティング
| 症状 | 原因・対策 |
|---|---|
cAdvisor がすぐに停止する (Exited (255)) |
/sys/fs/cgroup や /dev/kmsg など、macOS では存在しないリソースにアクセスしようとして失敗している。不要なマウントは省略するか、--privileged を試す。 |
| コンテナ一覧が表示されない |
/var/lib/docker や /var/run/docker.sock が適切にマウントされていない可能性。Orbstack ではこれらのマウント経路が Linux 環境と異なる点に注意。 |
| cAdvisor の UI は見えるがデータが空白 | コンテナ情報の読み取りがブロックされている可能性。--privileged を有効にして再起動してみる。 |
📌 補足:Orbstack での制限
Orbstack や Docker Desktop(macOS)は Linux 仮想マシン上で Docker を動かしているため、Linux カーネルレベルの情報(cgroup、/sys、/proc など)へのアクセスに制限があります。
そのため、完璧なメトリクスを取るのは難しい場合がありますが、上記の設定で多くのケースでは動作確認できています。
📝 まとめ
-
cAdvisorは Docker コンテナのリソース監視に便利なツール。 - macOS + Orbstack 環境では、必要なボリュームマウントや
--privilegedオプションがポイント。 -
http://localhost:9559にアクセスして UI を確認。 - 完全なモニタリングを目指すなら Prometheus や Grafana との統合も検討。
Discussion