소개
이 랩에서는 docker context ls 명령을 효과적으로 사용하여 Docker 컨텍스트를 관리하고 보는 방법을 배우게 됩니다. Docker 컨텍스트는 로컬, 원격 또는 클라우드 기반 여부에 관계없이 서로 다른 Docker 데몬 간에 쉽게 전환하는 데 필수적입니다.
실습 단계를 통해 자세한 정보와 함께 사용 가능한 모든 컨텍스트를 나열하고, 컨텍스트 이름만 표시하도록 출력을 필터링하며, JSON 및 사용자 지정 템플릿을 포함한 다양한 방식으로 출력을 형식화하는 방법을 탐구합니다. 이를 통해 구성된 Docker 환경을 신속하게 식별하고 이해하는 기술을 갖추게 됩니다.
모든 Docker 컨텍스트 나열
이 단계에서는 docker context ls 명령을 사용하여 사용 가능한 모든 Docker 컨텍스트를 나열하는 방법을 배우게 됩니다. Docker 컨텍스트를 사용하면 로컬, 원격 머신 또는 클라우드 환경에서 실행되는지 여부에 관계없이 서로 다른 Docker 데몬 간에 쉽게 전환할 수 있습니다.
모든 Docker 컨텍스트를 나열하려면 터미널을 열고 다음 명령을 실행하십시오.
docker context ls
이 명령은 각 Docker 컨텍스트에 대한 정보 (이름, 설명, 엔드포인트 및 현재 컨텍스트인지 여부 포함) 를 보여주는 테이블을 표시합니다.
다음과 유사한 출력을 볼 수 있습니다.
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
default Current DOCKER_HOST environment unix:///var/run/docker.sock n/a swarm
default 컨텍스트는 Docker 를 설치할 때 자동으로 생성되며 로컬 Docker 데몬을 가리킵니다.
Docker 컨텍스트 이름만 나열
이전 단계에서는 자세한 정보와 함께 모든 Docker 컨텍스트를 나열했습니다. 때로는 컨텍스트 이름만 볼 필요가 있을 수 있습니다. docker context ls 명령과 함께 --format 플래그를 사용하여 이를 수행할 수 있습니다.
--format 플래그를 사용하면 Go 의 text/template 패키지를 사용하여 출력 형식을 지정할 수 있습니다. 이름만 나열하려면 템플릿 {{.Name}}을 사용할 수 있습니다.
터미널에서 다음 명령을 실행하십시오.
docker context ls --format "{{.Name}}"
이 명령은 Docker 컨텍스트의 이름만 한 줄에 하나씩 출력합니다.
다음과 유사한 출력을 볼 수 있습니다.
default
이는 스크립팅 또는 추가 처리를 위해 사용 가능한 컨텍스트 이름을 빠르게 확인하려는 경우에 유용합니다.
Docker 컨텍스트 목록 출력을 JSON 형식으로 지정
이름을 나열하거나 기본 테이블 형식 외에도 docker context ls의 출력을 JSON 형식으로 지정할 수도 있습니다. 이는 컨텍스트 정보를 프로그래밍 방식으로 처리해야 할 때 특히 유용합니다.
출력을 JSON 형식으로 지정하려면 --format 플래그를 값 json과 함께 사용하십시오.
터미널에서 다음 명령을 실행하십시오.
docker context ls --format json
이 명령은 JSON 배열을 출력하며, 배열의 각 요소는 Docker 컨텍스트를 나타냅니다.
다음과 유사한 출력을 볼 수 있습니다.
[
{
"Name": "default",
"Current": true,
"Endpoint": "unix:///var/run/docker.sock",
"Description": "Current DOCKER_HOST environment",
"DockerEndpoint": "unix:///var/run/docker.sock",
"KubernetesEndpoint": "",
"Orchestrator": "swarm"
}
]
JSON 출력은 각 Docker 컨텍스트의 모든 세부 정보에 액세스할 수 있는 구조화된 방법을 제공합니다.
사용자 정의 템플릿을 사용하여 Docker 컨텍스트 목록 출력 형식 지정
이전 단계에서 모든 컨텍스트, 이름만 나열하고 출력을 JSON 형식으로 지정하는 방법을 살펴보았습니다. --format 플래그는 매우 강력하며 Go 의 text/template 구문을 사용하여 사용자 지정 출력 템플릿을 정의할 수 있습니다.
표시할 필드와 형식을 지정할 수 있습니다. 예를 들어, 사용자 지정 형식으로 컨텍스트 이름과 설명을 나열해 보겠습니다. 템플릿에서 사용할 수 있는 필드는 Name, Description, DockerEndpoint, KubernetesEndpoint 및 Orchestrator입니다.
터미널에서 다음 명령을 실행하십시오.
docker context ls --format "Context Name: {{.Name}}, Description: {{.Description}}"
이 명령은 사용자 지정 템플릿을 사용하여 각 컨텍스트의 이름과 설명을 표시합니다.
다음과 유사한 출력을 볼 수 있습니다.
Context Name: default, Description: Current DOCKER_HOST environment
다른 필드를 포함하거나 필요에 따라 출력을 다르게 형식화하기 위해 더 복잡한 템플릿을 만들 수 있습니다. 이러한 유연성은 스크립팅 및 Docker 컨텍스트 정보를 다른 도구에 통합하는 데 매우 유용합니다.
요약
이 랩에서는 docker context ls 명령을 사용하여 Docker 컨텍스트를 나열하는 방법을 배웠습니다. 먼저 이름, 설명, 엔드포인트 및 오케스트레이터를 포함한 자세한 정보와 함께 사용 가능한 모든 컨텍스트를 나열하는 것으로 시작했습니다. 그런 다음, 빠른 참조 또는 스크립팅에 유용한 --format "{{.Name}}" 플래그를 사용하여 컨텍스트의 이름만 나열하는 방법을 살펴보았습니다. 마지막으로, 프로그래밍 방식으로 사용할 수 있는 구조화된 출력을 제공하는 --format json 플래그를 사용하여 출력을 JSON 형식으로 지정하는 방법을 배웠습니다.



