Docker Desktop 상태 확인 방법: docker info 명령어 사용

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker info 명령을 사용하여 Docker Desktop 설치 상태를 확인하는 방법을 배우게 됩니다. 기본 사람이 읽기 쉬운 형식과 스크립팅 및 자동화에 이상적인 JSON 형식, 두 가지 다른 출력 형식을 살펴보겠습니다.

실습 단계를 통해 docker info 명령을 실행하여 컨테이너 및 이미지 수, 서버 버전, 스토리지 드라이버 및 기타 시스템 구성 등 Docker 환경에 대한 자세한 정보를 검색합니다. 기본 형식이 빠른 개요를 제공하는 방식과 JSON 형식이 Docker 상태 정보를 보다 쉽게 프로그래밍 방식으로 처리할 수 있도록 하는 방식을 보게 될 것입니다.

기본 형식으로 Docker Desktop 상태 확인

이 단계에서는 기본 출력 형식을 사용하여 docker info 명령으로 Docker 데몬의 상태를 확인하는 방법을 배우겠습니다. docker info 명령은 컨테이너 수, 이미지 수, 스토리지 드라이버 및 기타 시스템 수준 정보를 포함하여 Docker 설치에 대한 자세한 정보를 제공합니다.

먼저 LabEx VM 환경에서 터미널을 엽니다. 작업 표시줄에서 터미널 아이콘을 클릭하거나 Ctrl + Alt + T를 눌러 이 작업을 수행할 수 있습니다.

이제 다음 명령을 실행하여 기본 형식으로 Docker 정보를 표시합니다.

docker info

이 명령은 Docker 환경에 대한 많은 정보를 출력합니다. Docker 버전, 실행 중 및 중지된 컨테이너 수, 이미지 수, 사용 중인 스토리지 드라이버 및 다양한 시스템 구성과 같은 세부 정보를 보려면 출력을 스크롤합니다.

예를 들어, 출력에서 다음과 유사한 줄을 볼 수 있습니다.

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 20.10.21
Storage Driver: overlay2
...

이 기본 형식은 Docker 데몬의 상태 및 구성을 빠르게 파악하는 데 유용합니다.

JSON 형식으로 Docker Desktop 상태 확인

이전 단계에서는 docker info의 기본 출력 형식을 사용하여 Docker 데몬 상태를 확인했습니다. 기본 형식은 사람이 읽기 쉽지만 프로그래밍 방식으로 처리하는 데는 적합하지 않습니다. 이 단계에서는 스크립팅 및 자동화에 훨씬 더 적합한 JSON 형식으로 Docker 정보를 얻는 방법을 배우겠습니다.

JSON 형식으로 출력을 얻으려면 docker info 명령과 함께 --format 플래그를 사용하고 형식을 json으로 지정할 수 있습니다.

터미널에서 다음 명령을 실행합니다.

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

이 명령을 자세히 살펴보겠습니다.

  • docker info: Docker 시스템 정보를 얻기 위한 기본 명령입니다.
  • --format '{{json .}}': 이 플래그는 Docker 에 출력을 형식화하도록 지시합니다. 값 '{{json .}}'은 Go 템플릿 구문을 사용합니다. .docker info에서 반환된 전체 데이터 구조를 나타내고, {{json .}}은 이 구조를 JSON 문자열로 형식화합니다.

명령을 실행하면 이전과 동일한 정보가 표시되지만 이번에는 단일 유효한 JSON 객체로 표시됩니다. 출력은 다음과 유사하게 보입니다 (정확한 내용은 Docker 환경에 따라 다릅니다).

{
  "ID": "...",
  "Containers": 0,
  "ContainersRunning": 0,
  "ContainersPaused": 0,
  "ContainersStopped": 0,
  "Images": 0,
  "Driver": "overlay2",
  "SystemStatus": null,
  "Plugins": {
    "Volume": ["local"],
    "Network": ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"],
    "Authorization": null,
    "Log": [
      "awslogs",
      "fluentd",
      "gcplogs",
      "gelf",
      "journald",
      "json-file",
      "local",
      "logentries",
      "splunk",
      "syslog"
    ]
  },
  "MemoryLimit": true,
  "SwapLimit": true,
  "KernelMemory": true,
  "CpuCfsPeriod": true,
  "CpuCfsQuota": true,
  "CpuShares": true,
  "CpuSet": true,
  "PidsLimit": true,
  "OomKillDisable": true,
  "IPv4Forwarding": true,
  "BridgeNfIptables": true,
  "BridgeNfIp6tables": true,
  "Debug": false,
  "NFd": -1,
  "OomScoreAdj": -1,
  "Goroutines": -1,
  "SystemTime": "...",
  "LoggingDriver": "json-file",
  "CgroupDriver": "cgroupfs",
  "CgroupVersion": "1",
  "NEventsListener": -1,
  "KernelVersion": "...",
  "OperatingSystem": "...",
  "OSType": "linux",
  "Architecture": "x86_64",
  "IndexServerAddress": "https://index.docker.io/v1/",
  "RegistryConfig": {
    "AllowNondistributableArtifactsAfterDate": "2020-12-25T00:00:00Z",
    "InsecureRegistryCIDRs": ["127.0.0.0/8"],
    "IndexConfigs": {
      "docker.io": {
        "Name": "docker.io",
        "Mirrors": [],
        "Secure": true,
        "Official": true
      }
    },
    "Mirrors": []
  },
  "NCPU": -1,
  "MemTotal": -1,
  "GenericResources": null,
  "DockerRootDir": "/var/lib/docker",
  "HttpProxy": "",
  "HttpsProxy": "",
  "NoProxy": "",
  "ExperimentalBuild": false,
  "LiveRestoreEnabled": false,
  "Runtimes": { "runc": { "path": "runc" } },
  "DefaultRuntime": "runc",
  "Swarm": {
    "NodeID": "",
    "LocalNodeState": "inactive",
    "ControlAvailable": false,
    "Error": "",
    "RemoteManagers": null
  },
  "ContainerdCommit": { "ID": "...", "Expected": "..." },
  "RuncCommit": { "ID": "...", "Expected": "..." },
  "InitCommit": { "ID": "...", "Expected": "..." },
  "SecurityOptions": ["apparmor", "seccomp"],
  "ProductLicense": "",
  "DefaultAddressPools": null,
  "Warnings": null
}

이 JSON 출력은 스크립팅 언어 또는 기타 도구로 쉽게 구문 분석할 수 있으므로 Docker 와 관련된 작업을 자동화하는 데 매우 유용합니다.

요약

이 랩에서는 docker info 명령을 사용하여 Docker 데몬의 상태를 확인하는 방법을 배웠습니다. 기본 사람이 읽을 수 있는 형식과 JSON 형식의 두 가지 다른 출력 형식을 살펴보았습니다.

먼저 docker info를 사용하여 컨테이너 및 이미지 수, 서버 버전 및 스토리지 드라이버를 포함하여 Docker 환경에 대한 간략한 개요를 얻었습니다. 그런 다음, 스크립팅 및 자동화에 더 적합한 구조화된 JSON 형식으로 동일한 정보를 얻기 위해 docker info와 함께 --format '{{json .}}' 플래그를 사용하는 방법을 배웠습니다.