So verwenden Sie den docker system info-Befehl, um Systeminformationen anzuzeigen

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie den Befehl docker info verwenden, um umfassende Informationen über Ihr Docker-System anzuzeigen. Sie beginnen damit, den grundlegenden Befehl docker info auszuführen, um Details über den Docker-Daemon anzuzeigen, einschließlich der Anzahl der Container und Images, des Speicherdrivers und anderer systemweiter Informationen.

Nach der grundlegenden Anzeige werden Sie untersuchen, wie Sie die Ausgabe des Befehls docker info auf verschiedene Weise formatieren können. Insbesondere lernen Sie, wie Sie die Ausgabe als JSON formatieren, um sie leichter zu analysieren, und wie Sie eine benutzerdefinierte Vorlage verwenden, um nur die spezifischen Informationen anzuzeigen, die Sie benötigen. In diesem Lab erhalten Sie die Fähigkeiten, um Docker-Systeminformationen effektiv abzurufen und zu interpretieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") subgraph Lab Skills docker/info -.-> lab-555249{{"So verwenden Sie den docker system info-Befehl, um Systeminformationen anzuzeigen"}} end

Anzeige grundlegender Docker-Systeminformationen

In diesem Schritt lernen Sie, wie Sie mit dem Befehl docker info grundlegende Informationen über Ihr Docker-System anzeigen können. Dieser Befehl liefert Details über den Docker-Daemon, einschließlich der Anzahl der Container und Images, des Speicherdrivers und anderer systemweiter Informationen.

Öffnen Sie das Terminal in der LabEx-Umgebung. Sie können den Befehl docker info direkt ausführen.

docker info

Sie sollten eine Ausgabe ähnlich der folgenden sehen (die genauen Details variieren je nach Ihrer Umgebung):

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version: v0.10.4
    Build: 8842a472b58241d32996951f172f32259cd758e5
  compose: Docker Compose (Docker Inc.)
    Version: v2.17.2
    Build: 6833407
  scan: Docker Scan (Docker Inc.)
    Version: v0.23.0
    Build: 2c50987

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.21
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 9ba4b2555a59f71c4c1c1897e93a540b0c52b883
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.15.0-76-generic
 Operating System: Ubuntu 22.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.84GiB
 Name: labex-vm
 ID: 6111111111111111111111111111111111111111111111111111111111111111
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No blkio weight, cpus, or mem limits set, Docker may behave unexpectedly without them.

Die Ausgabe bietet einen umfassenden Überblick über Ihre Docker-Installation und ihren aktuellen Zustand. Sie können Informationen wie die Docker-Version, die Anzahl der laufenden Container und Images, den verwendeten Speicherdriver sowie Details über das zugrunde liegende Betriebssystem und die Hardware sehen.

Formatieren der Ausgabe von docker info als JSON

Im vorherigen Schritt haben Sie die Standardausgabe des Befehls docker info gesehen. Diese Ausgabe ist für Menschen lesbar, kann jedoch programmgesteuert schwierig zu analysieren sein. Docker bietet die Option --format, um das Ausgabeformat anzupassen. In diesem Schritt lernen Sie, wie Sie die Ausgabe von docker info als JSON formatieren können.

Die Option --format nutzt das text/template-Paket von Go. Um die Informationen als JSON auszugeben, können Sie die Vorlage . | json verwenden.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

docker info --format '{{json .}}'

Sie sollten die gleichen Informationen wie zuvor sehen, aber jetzt als ein einzelnes JSON-Objekt formatiert:

{
  "Client": {
    "Context": "default",
    "DebugMode": false,
    "Plugins": {
      "buildx": {
        "Version": "v0.10.4",
        "Build": "8842a472b58241d32996951f172f32259cd758e5"
      },
      "compose": {
        "Version": "v2.17.2",
        "Build": "6833407"
      },
      "scan": {
        "Version": "v0.23.0",
        "Build": "2c50987"
      }
    }
  },
  "Server": {
    "Containers": 0,
    "ContainersRunning": 0,
    "ContainersPaused": 0,
    "ContainersStopped": 0,
    "Images": 0,
    "ServerVersion": "20.10.21",
    "StorageDriver": "overlay2",
    "LoggingDriver": "json-file",
    "CgroupDriver": "systemd",
    "CgroupVersion": "2",
    "Plugins": {
      "Volume": ["local"],
      "Network": ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"],
      "Log": [
        "awslogs",
        "fluentd",
        "gcplogs",
        "gelf",
        "journald",
        "json-file",
        "local",
        "logentries",
        "splunk",
        "syslog"
      ]
    },
    "Swarm": {
      "NodeID": "",
      "LocalNodeState": "inactive",
      "ControlAvailable": false,
      "Error": null,
      "RemoteManagers": null
    },
    "Runtimes": {
      "io.containerd.runc.v2": {
        "path": "io.containerd.runc.v2"
      },
      "io.containerd.runtime.v1.linux": {
        "path": "io.containerd.runtime.v1.linux"
      },
      "runc": {
        "path": "runc"
      }
    },
    "DefaultRuntime": "runc",
    "InitBinary": "docker-init",
    "ContainerdVersion": "9ba4b2555a59f71c4c1c1897e93a540b0c52b883",
    "RuncVersion": "v1.1.4-0-g5fd4c4d",
    "InitVersion": "de40ad0",
    "SecurityOptions": ["apparmor", "seccomp", "cgroupns"],
    "KernelVersion": "5.15.0-76-generic",
    "OperatingSystem": "Ubuntu 22.04.2 LTS",
    "OSType": "linux",
    "Architecture": "x86_64",
    "NCPU": 2,
    "MemTotal": 4123631616,
    "Name": "labex-vm",
    "ID": "6111111111111111111111111111111111111111111111111111111111111111",
    "DockerRootDir": "/var/lib/docker",
    "DebugMode": false,
    "ExperimentalBuild": false,
    "InsecureRegistries": ["127.0.0.0/8"],
    "LiveRestoreEnabled": false,
    "Warnings": [
      "No blkio weight, cpus, or mem limits set, Docker may behave unexpectedly without them."
    ]
  }
}

Das Formatieren der Ausgabe als JSON ist nützlich, wenn Sie die Informationen mit anderen Tools oder Skripten verarbeiten möchten.

Formatieren der Ausgabe von docker info mit einer benutzerdefinierten Vorlage

Neben der Formatierung der Ausgabe als JSON können Sie die Option --format mit einer benutzerdefinierten Go-Vorlage verwenden, um spezifische Informationen aus der Ausgabe von docker info anzuzeigen. Dies ermöglicht es Ihnen, nur die Daten zu extrahieren, die Sie interessieren.

Der Befehl docker info liefert eine Datenstruktur, auf die Sie innerhalb der Vorlage zugreifen können. Beispielsweise können Sie die Vorlage 'Server Version: {{.ServerVersion}}, CPUs: {{.NCPU}}' verwenden, um die Docker-Server-Version und die Gesamtzahl der CPUs anzuzeigen.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

docker info --format 'Server Version: {{.ServerVersion}}, CPUs: {{.NCPU}}'

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Server Version: 20.10.21, CPUs: 2

In dieser Vorlage:

  • {{.ServerVersion}} greift auf das Feld ServerVersion aus der Datenstruktur von docker info zu.
  • {{.NCPU}} greift auf das Feld NCPU zu, das die Anzahl der CPUs darstellt.

Sie können die JSON-Ausgabe aus dem vorherigen Schritt untersuchen, um andere Felder zu identifizieren, die Sie in Ihre benutzerdefinierte Vorlage aufnehmen möchten. Beispielsweise könnten Sie die Vorlage 'OS: {{.OperatingSystem}}, Docker Root Dir: {{.DockerRootDir}}' verwenden, um das Betriebssystem und das Docker-Wurzelverzeichnis anzuzeigen.

Versuchen Sie, diesen Befehl auszuführen:

docker info --format 'OS: {{.OperatingSystem}}, Docker Root Dir: {{.DockerRootDir}}'

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

OS: Ubuntu 22.04.2 LTS, Docker Root Dir: /var/lib/docker

Die Verwendung von benutzerdefinierten Vorlagen gibt Ihnen eine feingranulare Kontrolle über die Ausgabe des Befehls docker info, was es einfacher macht, Docker-Informationen in Skripts oder Berichte zu integrieren.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Befehl docker info verwenden, um umfassende Informationen über Ihr Docker-System anzuzeigen. Sie haben begonnen, indem Sie den grundlegenden Befehl docker info ausgeführt haben, um Details über den Docker-Daemon anzuzeigen, einschließlich der Anzahl der Container und Images, des Storage Drivers und anderer systemweiter Informationen.

Darüber hinaus haben Sie untersucht, wie Sie die Ausgabe des Befehls docker info formatieren können. Sie haben gelernt, die Informationen im JSON-Format auszugeben, um die Verarbeitung und Integration mit anderen Tools zu erleichtern, sowie wie Sie eine benutzerdefinierte Go-Vorlage verwenden, um spezifische Informationen in einem maßgeschneiderten Format anzuzeigen. Diese Formatierungsoptionen bieten Flexibilität bei der Art und Weise, wie Sie auf die Details des Docker-Systems zugreifen und nutzen.