특정 정보 표시를 위한 출력 형식 지정
이 단계에서는 docker node ls 명령의 출력을 우리가 관심 있는 정보만 표시하도록 형식 지정하는 방법을 배우겠습니다. 이는 스크립팅에 유용하거나 특정 세부 정보에 대한 빠른 보기가 필요할 때 유용합니다.
--format 플래그를 사용하여 출력 형식을 지정합니다. 원하는 출력을 정의하기 위해 Go 템플릿 구문을 사용할 수 있습니다. 액세스할 수 있는 일반적인 필드에는 .ID, .Hostname, .Status, .Availability, .ManagerStatus, .EngineVersion이 있습니다.
노드 ID 와 호스트 이름만 표시해 보겠습니다.
docker node ls --format "{{.ID}}\t{{.Hostname}}"
{{.ID}}와 {{.Hostname}}은 각각 노드의 ID 와 호스트 이름에 대한 자리 표시자입니다. \t는 구분을 위해 탭 문자를 삽입합니다.
출력은 다음과 같습니다.
<node_id> <hostname>
이제 호스트 이름과 매니저 상태를 표시해 보겠습니다.
docker node ls --format "Hostname: {{.Hostname}}, Manager Status: {{.ManagerStatus}}"
이렇게 하면 다음과 같이 출력됩니다.
Hostname: <hostname>, Manager Status: Leader
필터링과 형식을 결합할 수 있습니다. 예를 들어, 매니저 노드를 필터링하고 ID 와 호스트 이름을 표시해 보겠습니다.
docker node ls --filter role=manager --format "{{.ID}}\t{{.Hostname}}"
이 명령은 먼저 노드를 필터링하여 매니저만 포함한 다음 ID 와 호스트 이름을 표시하도록 출력을 형식 지정합니다.
--format 플래그를 사용하면 Docker Swarm 노드에 대한 정보를 보고 처리하는 방식에 유연성을 제공합니다.