(Docker) Docker inspect 명령어

inspect 명령어는 컨테이너와 이미지의 세부 정보를 JSON 형태로 출력하는 inspect 명령입니다.

* docker inspect <옵션> <컨테이너 또는 이미지 이름, ID>

> -f , --format="":  지정한 정보만 출력합니다.
예) "{{.NetworkSettings.IPAddress}}" 처럼 .(점) 으로 JSON 문서의 하위 항목을 설정 할 수 있습니다.

1. 다음 명령은 이미지 세부정보에서 아키텍처와 OS를 출력한다.
$ sudo docker inspect -f "{{.Architecture}} {{.Os}}" ubuntu:16.04

2. 다음 명령은 컨테이너의 IP주소를 출력합니다.
$ sudo docker run -i -t -d --name hello ubuntu:16.04 /bin/bash
$ sudo docker inspect -f ""{{.NetworkSettings.IPAddress}} hello

3. 다음 명령은 컨테이너의 세부 정보에서 특정 부분만 추출하여 원하는 포맷으로 출력한다.
$sudo docker run -i -t -d --name hello -p 80:80 -p 8080:8080 ubuntu:14.04 /bin/bash
$sudo docker inspect -f '{{range $p, $conf := .NetworkSettings.ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' hello


여기서 {{range $p, $conf := .NetworkSettings.Ports}} 으로 .NetworkSettings.Ports의 내용을 순회하면서 $p, $conf에 대입합니다. 그리고 $p는 그대로 출력하고, $conf 배열에서 첫 번째 항목(index $conf0)의 .HostPort를 출력합니다.



댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기