Go 템플릿을 사용하여 사용자 지정 네트워크 검사
이 단계에서는 docker network inspect 명령과 함께 Go 템플릿을 사용하여 네트워크 구성에서 특정 정보를 추출하는 방법을 배우게 됩니다. 이는 특정 세부 정보만 필요하고 전체 JSON 출력을 구문 분석하고 싶지 않을 때 유용합니다.
-f 또는 --format 플래그를 사용하면 Go 템플릿을 지정할 수 있습니다. 템플릿은 Go 템플릿 구문을 사용하여 JSON 출력 내의 필드에 액세스합니다.
네트워크의 ID 와 드라이버만 보고 싶다고 가정해 보겠습니다. 다음 템플릿을 사용할 수 있습니다: {{.Id}} {{.Driver}}.
my-custom-network를 검사하고 이 템플릿을 사용하여 출력을 형식화하려면 다음 명령을 실행하십시오.
docker network inspect -f '{{.Id}} {{.Driver}}' my-custom-network
출력은 네트워크 ID 다음에 드라이버 이름이 공백으로 구분되어 표시됩니다.
중첩된 필드에도 액세스할 수 있습니다. 예를 들어, IPAM 구성에서 서브넷을 가져오려면 템플릿 {{.IPAM.Config}}를 사용할 수 있습니다. IPAM.Config는 목록이므로 여러 구성이 있는 경우 반복하거나 특정 요소에 액세스해야 할 수 있습니다. 간단하게, 구성이 하나만 있고 Config 목록의 첫 번째 요소 내의 Subnet 필드에 액세스한다고 가정해 보겠습니다: {{(index .IPAM.Config 0).Subnet}}.
네트워크를 검사하고 네트워크 이름과 서브넷을 표시해 보겠습니다.
docker network inspect -f 'Name: {{.Name}}, Subnet: {{(index .IPAM.Config 0).Subnet}}' my-custom-network
이 명령은 네트워크 이름과 해당 서브넷을 더 읽기 쉬운 형식으로 출력합니다.
Go 템플릿을 사용하면 Docker 명령의 출력을 사용자 지정하고 필요한 정보를 정확하게 추출하는 강력한 방법을 제공합니다.