Docker2 min read

docker inspect의 Config만 유효한 JSON으로 출력하기

2026년 11월 8일2 min read작성자 Flature

docker inspect의 --format에 '{{json .Config}}'를 지정하면 Config 구조를 JSON으로 출력할 수 있습니다. 전체 기본 출력, .Config를 직접 출력하는 템플릿과의 차이 및 여러 컨테이너 조회 시 주의점을 설명합니다.

docker inspect의 Config만 유효한 JSON으로 출력하기

컨테이너의 Config 부분만 유효한 JSON으로 출력하려면 docker inspect --format='{{json .Config}}' 컨테이너이름을 사용합니다. .Config로 구조를 선택하고, Docker가 제공하는 템플릿 함수 json으로 JSON 형식으로 변환하는 것이 핵심입니다.

Config를 선택하는 것과 JSON으로 출력하는 것은 다릅니다

docker inspect는 기본적으로 조회 결과 전체를 JSON 배열로 출력합니다. 그러나 --format을 지정하면 Go 템플릿으로 출력 형식을 정하므로, 선택한 값이 자동으로 JSON이 되는 것은 아닙니다.

명령 형태 출력 의미
docker inspect myapp 전체 조회 결과를 JSON 배열로 출력
docker inspect --format='{{.Config}}' myapp Config 구조를 Go 방식의 값 표현으로 출력
docker inspect --format='{{json .Config}}' myapp Config 구조만 JSON으로 출력

두 번째 방식은 사람이 값을 살펴보는 데 쓸 수 있지만, JSON 파서에 전달할 출력으로 사용해서는 안 됩니다. 구조 안에 여러 필드가 있는 경우에는 json 함수를 명시해야 합니다.

컨테이너 하나의 Config를 조회하는 방법

Docker CLI가 설치되어 있고, 대상 Docker 데몬에 접근할 수 있어야 합니다. 조회할 컨테이너가 존재해야 하며 그 이름이나 ID를 알아야 합니다. 다음 예시는 Bash처럼 작은따옴표로 템플릿을 묶을 수 있는 셸을 기준으로 합니다.

docker inspect --type=container --format='{{json .Config}}' myapp

myapp을 실제 컨테이너 이름 또는 ID로 바꿉니다. --type=container는 조회 대상을 컨테이너로 제한하고, --format은 선택한 Config를 JSON으로 출력합니다. 성공하면 전체 조회 결과를 감싸던 배열과 바깥쪽 Config 키 없이, Config의 내용이 JSON 객체로 나옵니다.

출력 예시를 해석하는 기준

가령 대상 컨테이너의 Config에 있는 Image 값이 sample-app:demo라고 가정하겠습니다. 위 명령의 출력에서 해당 필드를 찾으면 다음과 같은 JSON 속성을 볼 수 있습니다. 아래는 형식을 설명하기 위해 그 속성만 발췌한 예시이며, 실제 명령은 다른 Config 필드도 함께 출력합니다.

{"Image":"sample-app:demo"}

속성 이름과 문자열 값이 큰따옴표로 표현되며, 실제 출력의 나머지 Config 필드도 JSON 구조에 포함됩니다. 이 결과에서 Image를 읽는 프로그램은 최상위 객체의 Image를 조회해야 합니다. 전체 inspect 결과를 읽을 때처럼 배열의 첫 원소에서 Config.Image를 찾는 구조가 아닙니다.

여러 대상을 지정할 때의 한계

--format의 템플릿은 조회 결과마다 따로 실행됩니다. 컨테이너 이름을 여러 개 지정하면 각 Config가 각각 JSON으로 출력되므로, 출력 전체가 하나의 JSON 배열이 되지는 않습니다. 하나의 JSON 문서를 요구하는 프로그램에 전달하려면 우선 컨테이너 하나씩 조회하거나, 별도로 결과를 배열로 모으는 처리가 필요합니다.

또한 json은 출력 형식을 바꾸는 함수입니다. Config에 담긴 값을 가리거나 전체 inspect의 다른 영역까지 포함하지는 않습니다. 자동화에 사용할 때는 {{json .Config}}와 단일 대상을 조합하고, 후속 처리도 Config 객체를 직접 받는 형태로 맞추면 됩니다.

참고한 공식 문서

이어서 확인할 내용