Home Operation and Maintenance Linux Operation and Maintenance Docker container monitoring on Linux: How to monitor the running status of containers in real time?

Docker container monitoring on Linux: How to monitor the running status of containers in real time?

Jul 28, 2023 pm 09:09 PM
linux docker monitor

Docker container monitoring on Linux: How to monitor the running status of the container in real time?

Introduction:
With the widespread application of container technology, Docker has become one of the most popular containerization platforms. However, simply creating and running a container is not enough; monitoring the container to ensure its stable operation is crucial. This article will introduce how to monitor the running status of Docker containers in real time on the Linux platform and provide corresponding code examples.

1. The Importance of Docker Container Monitoring
By monitoring Docker containers, we can track the CPU usage, memory usage, network traffic, disk IO and other indicators of the container in real time, so as to discover and solve potential problems in a timely manner. question. At the same time, monitoring can also help us optimize resource utilization and improve overall system performance.

2. Use cAdvisor to monitor Docker containers
cAdvisor is an open source tool specifically used to monitor the resource usage of containers. It can communicate with the Docker engine through the Docker API on the Docker host and collect various indicators within the container.

  1. Installing cAdvisor
    Installing cAdvisor on a Linux system is very simple. We can use the following command to install:
docker run 
  --volume=/:/rootfs:ro 
  --volume=/var/run:/var/run:rw 
  --volume=/sys:/sys:ro 
  --volume=/var/lib/docker/:/var/lib/docker:ro 
  --publish=8080:8080 
  --detach=true 
  --name=cadvisor 
  google/cadvisor:latest

This command will start a cAdvisor container locally and map it to the 8080 port of the host.

  1. View monitoring results
    Visit http://localhost:8080 in the browser to view the cAdvisor monitoring interface. This interface can display various indicators of the container, including CPU, memory, network, disk, etc.

3. Use Docker API to monitor containers
In addition to using cAdvisor, we can also monitor the running status of containers through Docker API. Docker API provides a series of interfaces to query and manage container information.

  1. Install Docker SDK for Python
    First, we need to install Docker SDK for Python, which is the Python library officially provided by Docker and is used to interact with the Docker API. We can install it using the following command:
pip install docker
  1. Monitoring containers using code
    Here is a sample code to monitor a container using Docker SDK for Python:
import docker

def monitor_container(container_id):
    client = docker.from_env()
    container = client.containers.get(container_id)
    
    stats = container.stats(stream=True)
    for stat in stats:
        # 处理容器的统计数据
        print(stat)

This code first uses docker.from_env() to create a Docker client instance, and then obtains the specified container object through client.containers.get(container_id). Then, obtain the real-time statistical data of the container through container.stats(stream=True) and process it accordingly.

4. Summary
This article introduces how to monitor the running status of Docker containers in real time on Linux. By using cAdvisor and Docker API, we can easily obtain various indicators of the container and perform performance optimization and troubleshooting accordingly. I hope this article will help you understand Docker container monitoring.

For code samples and API documentation, please refer to the following link:

  • cAdvisor: https://github.com/google/cadvisor
  • Docker SDK for Python: https ://docker-py.readthedocs.io/

The above is the detailed content of Docker container monitoring on Linux: How to monitor the running status of containers in real time?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1596
276
How to install software on Linux using the terminal? How to install software on Linux using the terminal? Aug 02, 2025 pm 12:58 PM

There are three main ways to install software on Linux: 1. Use a package manager, such as apt, dnf or pacman, and then execute the install command after updating the source, such as sudoaptininstallcurl; 2. For .deb or .rpm files, use dpkg or rpm commands to install, and repair dependencies when needed; 3. Use snap or flatpak to install applications across platforms, such as sudosnapinstall software name, which is suitable for users who are pursuing version updates. It is recommended to use the system's own package manager for better compatibility and performance.

The Ultimate Guide to High-Performance Gaming on Linux The Ultimate Guide to High-Performance Gaming on Linux Aug 03, 2025 am 05:51 AM

ChoosePop!_OS,Ubuntu,NobaraLinux,orArchLinuxforoptimalgamingperformancewithminimaloverhead.2.InstallofficialNVIDIAproprietarydriversforNVIDIAGPUs,ensureup-to-dateMesaandkernelversionsforAMDandIntelGPUs.3.EnabletheperformanceCPUgovernor,usealow-latenc

What are the main pros and cons of Linux vs. Windows? What are the main pros and cons of Linux vs. Windows? Aug 03, 2025 am 02:56 AM

Linux is suitable for old hardware, has high security and is customizable, but has weak software compatibility; Windows software is rich and easy to use, but has high resource utilization. 1. In terms of performance, Linux is lightweight and efficient, suitable for old devices; Windows has high hardware requirements. 2. In terms of software, Windows has wider compatibility, especially professional tools and games; Linux needs to use tools to run some software. 3. In terms of security, Linux permission management is stricter and updates are convenient; although Windows is protected, it is still vulnerable to attacks. 4. In terms of difficulty of use, the Linux learning curve is steep; Windows operation is intuitive. Choose according to requirements: choose Linux with performance and security, and choose Windows with compatibility and ease of use.

Understanding RAID Configurations on a Linux Server Understanding RAID Configurations on a Linux Server Aug 05, 2025 am 11:50 AM

RAIDimprovesstorageperformanceandreliabilityonLinuxserversthroughvariousconfigurations;RAID0offersspeedbutnoredundancy;RAID1providesmirroringforcriticaldatawith50�pacityloss;RAID5supportssingle-drivefailuretoleranceusingparityandrequiresatleastthre

Linux how to enable and disable services at boot Linux how to enable and disable services at boot Aug 08, 2025 am 10:23 AM

To manage the startup of Linux services, use the systemctl command. 1. Check the service status: systemctlstatus can check whether the service is running, enabled or disabled. 2. Enable the service startup: sudosystemctlenable, such as sudosystemctlenablenginx. If it is started at the same time, use sudosystemctlenable--nownginx. 3. Disable the service startup: sudosystemctldisable, such as sudosystemctldisablecups. If it is stopped at the same time, use sudosystemctldisabl

How to clean up your Linux system How to clean up your Linux system Aug 22, 2025 am 07:42 AM

Removeunusedpackagesanddependencieswithsudoaptautoremove,cleanpackagecacheusingsudoaptcleanorautoclean,andremoveoldkernelsviasudoaptautoremove--purge.2.Clearsystemlogswithsudojournalctl--vacuum-time=7d,deletearchivedlogsin/var/log,andempty/tmpand/var

Linux how to list all running processes Linux how to list all running processes Aug 08, 2025 am 06:42 AM

Usepsauxforacompletesnapshotofallrunningprocesses,showingdetailedinformationlikeUSER,PID,CPU,andmemoryusage.2.Usetoporhtopforreal-timemonitoringofprocesseswithdynamicupdates,wherehtopoffersamoreintuitiveinterface.3.UsepgreporpidoftoquicklyfindthePIDs

How to get started with docker How to get started with docker Aug 16, 2025 pm 01:46 PM

Dockerisaplatformforpackaging,shipping,andrunningapplicationsinlightweight,isolatedcontainersthatsharethehostOSkernel,unlikevirtualmachines.2.InstallDockerDesktoponWindowsormacOS,orusethecurlcommandonLinux,thentestwithdocker--versionanddockerrunhello

See all articles