docker desktop module ls 명령어를 사용하여 모듈 목록을 보는 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker version 명령어를 사용하여 Docker Desktop 모듈을 나열하는 방법을 배우게 됩니다. 모든 모듈 나열, JSON 형식으로 출력 표시, 모듈 ID 만 추출하는 등 이 정보를 보는 다양한 방법을 살펴볼 것입니다. 이 실습을 통해 Docker 설치 구성 요소를 이해하고 이에 대한 정보를 검색하는 방법을 익힐 수 있습니다.

모든 Docker Desktop 모듈 나열

이 단계에서는 docker version 명령어를 사용하여 모든 Docker Desktop 모듈을 나열하는 방법을 배우겠습니다. docker version 명령어는 클라이언트 및 서버 구성 요소와 Docker Desktop 설치의 일부인 모듈을 포함하여 Docker 설치에 대한 자세한 정보를 제공합니다.

모든 Docker Desktop 모듈을 나열하려면 터미널을 열고 다음 명령을 실행하십시오.

docker version

이 명령은 Docker 설치에 대한 많은 정보를 출력합니다. ClientServer와 같은 섹션을 찾으십시오. 이러한 섹션 내에서 다양한 구성 요소 및 모듈에 대한 세부 정보를 찾을 수 있습니다.

예를 들어, 출력은 다음과 유사할 수 있습니다 (정확한 출력은 Docker 버전 및 설치에 따라 다를 수 있음).

Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        f2213a1
 Built:             Thu Oct 27 00:18:36 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       3056e8c
  Built:            Thu Oct 27 00:17:23 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

이 출력에서 Docker Engine, containerd, runc 및 docker-init 에 대한 정보를 볼 수 있습니다. 이것들은 Docker 환경을 구성하는 몇 가지 주요 모듈입니다. docker version 명령어는 Docker 설치의 다양한 구성 요소와 해당 버전을 이해하는 데 유용한 도구입니다.

JSON 형식으로 Docker Desktop 모듈 나열

이전 단계에서는 docker version 명령어를 사용하여 Docker Desktop 모듈을 나열했습니다. 기본 출력은 사람이 읽을 수 있지만, 스크립팅 또는 추가 처리를 위해 JSON 과 같은 구조화된 형식으로 출력이 필요한 경우가 있습니다.

docker version 명령어는 Go 의 text/template 패키지를 사용하여 출력 형식을 지정할 수 있는 --format 플래그를 지원합니다. JSON 형식으로 출력을 얻으려면 json . 템플릿을 사용할 수 있습니다.

터미널에서 다음 명령을 실행하십시오.

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

이 명령은 docker version과 동일한 정보를 JSON 객체로 형식화하여 출력합니다. {{json .}} 부분은 전체 출력 (.) 을 JSON 으로 형식화하도록 Docker 에 지시하는 템플릿입니다.

출력은 다음과 유사한 단일 JSON 데이터 줄이 됩니다 (가독성을 위해 형식화됨).

{
  "Client": {
    "Version": "20.10.21",
    "ApiVersion": "1.41",
    "GoVersion": "go1.16.15",
    "GitCommit": "f2213a1",
    "Built": "Thu Oct 27 00:18:36 2022",
    "OsArch": "linux/amd64",
    "Context": "default",
    "Experimental": true
  },
  "Server": {
    "Engine": {
      "Version": "20.10.21",
      "ApiVersion": "1.41",
      "MinAPIVersion": "1.12",
      "GoVersion": "go1.16.15",
      "GitCommit": "3056e8c",
      "Built": "Thu Oct 27 00:17:23 2022",
      "OsArch": "linux/amd64",
      "Experimental": false
    },
    "Containerd": {
      "Version": "1.6.8",
      "GitCommit": "9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b"
    },
    "Runc": {
      "Version": "1.1.4",
      "GitCommit": "v1.1.4-0-g5fd4c4d"
    },
    "DockerInit": {
      "Version": "0.19.0",
      "GitCommit": "de40ad0"
    }
  }
}

이 JSON 출력은 기본 출력과 동일한 정보를 포함하지만 프로그램이 쉽게 구문 분석할 수 있는 구조화된 형식으로 제공됩니다. 이는 스크립트에서 docker version 출력에서 특정 정보 조각을 추출하려는 경우 특히 유용합니다.

Docker Desktop 모듈 ID 만 나열

이전 단계에서 모든 Docker Desktop 모듈을 나열하는 방법과 출력을 JSON 으로 형식화하는 방법을 배웠습니다. 이제 스크립팅 또는 자동화를 위해 특정 데이터 조각만 필요한 경우 모듈의 Git 커밋 ID 와 같은 특정 정보만 추출하는 방법을 살펴보겠습니다.

이를 위해 사용자 지정 템플릿과 함께 --format 플래그를 다시 사용할 수 있습니다. 이전 단계의 JSON 출력을 검사하여 Git 커밋 ID 가 Server.Engine.GitCommit, Server.Containerd.GitCommit, Server.Runc.GitCommitServer.DockerInit.GitCommit 아래에 있음을 확인할 수 있습니다.

이러한 특정 필드를 추출하는 템플릿을 구성할 수 있습니다. 터미널에서 다음 명령을 실행하십시오.

docker version --format 'Engine GitCommit: {{.Server.Engine.GitCommit}}\nContainerd GitCommit: {{.Server.Containerd.GitCommit}}\nRunc GitCommit: {{.Server.Runc.GitCommit}}\nDockerInit GitCommit: {{.Server.DockerInit.GitCommit}}'

템플릿을 분석해 보겠습니다.

  • Engine GitCommit: {{.Server.Engine.GitCommit}}: 이 부분은 Server 객체 내의 Engine 객체에서 GitCommit 값을 추출합니다.
  • \n: 각 모듈의 출력을 구분하기 위해 줄 바꿈 문자를 추가합니다.
  • Containerd GitCommit: {{.Server.Containerd.GitCommit}}: containerd 에 대한 GitCommit을 추출합니다.
  • Runc GitCommit: {{.Server.Runc.GitCommit}}: runc 에 대한 GitCommit을 추출합니다.
  • DockerInit GitCommit: {{.Server.DockerInit.GitCommit}}: docker-init 에 대한 GitCommit을 추출합니다.

출력은 다음과 유사하게 각 지정된 모듈에 대한 Git 커밋 ID 를 표시합니다.

Engine GitCommit: 3056e8c
Containerd GitCommit: 9cd358bba7fd9c7bb19904ba6d2f58fd60b1ca2b
Runc GitCommit: v1.1.4-0-g5fd4c4d
DockerInit GitCommit: de40ad0

이는 Docker 명령어에서 특정 데이터를 추출하기 위한 --format 플래그와 Go 템플릿의 강력함을 보여줍니다. docker version 출력에서 사용할 수 있는 모든 필드를 추출하도록 템플릿을 사용자 지정할 수 있습니다.

요약

이 랩에서는 docker version 명령어를 사용하여 Docker Desktop 모듈을 나열하는 방법을 배웠습니다. Docker Engine, containerd, runc 및 docker-init 과 해당 버전을 포함하여 Docker 설치의 다양한 구성 요소에 대한 귀중한 정보를 제공하는 모든 모듈과 세부 정보를 표시하는 방법을 살펴보았습니다.

또한 프로그래밍 방식으로 처리하고 다른 도구와 통합하는 데 유용한 JSON 형식으로 Docker Desktop 모듈을 나열하는 방법을 배웠습니다. 마지막으로, 빠른 식별을 위해 간결한 출력을 제공하는 Docker Desktop 모듈의 ID 만 나열하는 방법을 다루었습니다.