在Linux上監控Docker狀態有多種方法,以下是一些常用的命令和工具:
docker stats
命令docker stats
命令可以實時顯示所有運行中的容器的資源使用情況,包括CPU、內存、網絡和磁盤I/O。
docker stats
如果你只想查看特定容器的狀態,可以使用 -c
或 --no-stream
參數來禁用流式輸出,并指定容器ID或名稱:
docker stats <container_id_or_name>
docker ps
命令docker ps
命令可以列出所有正在運行的容器。你可以結合 -a
參數來查看所有容器(包括停止的)。
docker ps -a
docker top
命令docker top
命令可以顯示容器中運行的進程。你需要指定容器ID或名稱:
docker top <container_id_or_name>
htop
或 top
如果你想在一個更友好的界面中監控系統資源使用情況,可以使用 htop
或 top
命令。這些工具可以顯示CPU、內存、磁盤和網絡的使用情況,并且可以通過插件擴展功能。
sudo apt-get install htop # 安裝htop
htop
cAdvisor
cAdvisor
是一個開源的容器資源使用和性能分析工具。它可以監控容器的CPU、內存、網絡和磁盤I/O使用情況,并且可以通過Web界面查看。
首先,你需要下載并運行 cAdvisor
:
wget https://github.com/google/cadvisor/releases/download/v0.41.0/cadvisor-0.41.0.linux-amd64 -O /usr/local/bin/cadvisor
chmod +x /usr/local/bin/cadvisor
docker run --name=cadvisor -p 8080:8080 -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker/:ro -d --net=host google/cadvisor
然后,你可以在瀏覽器中訪問 http://<your_host>:8080
來查看監控信息。
Prometheus
和 Grafana
Prometheus
是一個開源的監控系統和時間序列數據庫,而 Grafana
是一個開源的分析和監控平臺。你可以使用這兩個工具來監控Docker容器的狀態。
首先,你需要安裝 Prometheus
和 Grafana
,然后配置 Prometheus
來抓取 Docker
的指標數據。最后,在 Grafana
中創建儀表盤來展示這些數據。
Docker Swarm
或 Kubernetes
如果你在使用 Docker Swarm
或 Kubernetes
,它們都提供了內置的監控和日志管理功能。你可以通過它們的控制面板或命令行工具來監控集群和容器的狀態。
例如,在 Kubernetes
中,你可以使用 kubectl
命令來查看Pod和節點的狀態:
kubectl get pods
kubectl get nodes
通過這些方法,你可以全面地監控Linux上Docker容器的狀態和資源使用情況。