--format
--format
은 명령어 출력 결과를 특정 포맷(Format) 으로 변환한다.- 사용자는 템플릿 언어를 사용하여 출력 모양을 커스텀할 수 있다.
- 이 옵션은 JSON이나 사용자 정의 텍스트 형식으로 결과 출력 시 유용하다.
사용 방법
--format
뒤에 GO 템플릿 형식을 사용한다.- 템플릿 안에서
.FieldName
형태로 각 필드 값을 참조한다.
사용 예시
# 컨테이너의 이름과 이미지만 출력하는 경우
docker ps --format "{{.Names}}: {{.Image}}"
# 이미지 ID와 크기만 출력하는 경우
docker images --format "{{.ID}}: {{.Size}}"
# JSON 형태로 컨테이너 종부를 출력하는 경우
docker ps --format "{{json .}}"
# 특정 컨테이너의 실행 정보 출력하기
docker inspect --format "{{.State.Status}}" <컨테이너명 또는 컨테이너ID>
--filter
--filter
는 출력 결과를 특정 조건에 맞게 필터링 한다.- 이를 통해 사용자는 필요한 정보만 추출할 수 있다.
사용 방법
--filter key=value
형식으로 사용한다.
사용 예시
# 실행 중인 컨테이너만 보기
docker ps --filter "status=running"
# 특정 이름을 가진 컨테이너만 보기
docker ps --filter "name=my-app"
# 특정 라벨을 가진 이미지만 보기
docker images --filter "label=app=web"
--filter와 --format 혼합 사용
사용 예시
# 실행 중인 컨테이너의 이름과 이미지 출력
docker ps --filter "status=running" --format "{{.Names}}: {{.Image}}"
--format 템플릿의 필드 확인 방법
--format
에서 사용할 수 있는 템플릿 필드는 어디서 확인하는걸까?
JSON 형식으로 전체 데이터를 출력하여 템플릿 필드를 확인해보자.
# 컨테이너 데이터 전체 출력 (JSON 형식)
docker ps --format '{{json .}}'
위 명령을 실행해 나온 JSON 결과에서 key:value
를 확인하고, --format
에서 적절히 사용해주면 된다.