저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
Docker 명령어 및 옵션 목록
이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20
inspect
다음은 컨테이너와 이미지의 세부 정보를 JSON 형태로 출력하는 inspect 명령입니다.
docker inspect <옵션> <컨테이너 또는 이미지 이름, ID>
- -f, --format="": 지정한 정보만 출력합니다. "{{ .NetworkSettings.IPAddress }}"처럼 .(점)으로 JSON 문서의 하위 항목을 설정할 수 있습니다.
다음 명령은 이미지의 세부 정보에서 아키텍처와 OS를 출력합니다.
$ sudo docker inspect -f "{{ .Architecture }} {{ .Os }}" ubuntu:14.04
amd64 linux
다음 명령은 컨테이너의 IP 주소를 출력합니다.
$ sudo docker run -i -t -d --name hello ubuntu:14.04 /bin/bash
$ sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" hello
172.17.0.85
다음 명령은 세부 정보의 일부 내용을 JSON 형태로 출력합니다.
$ sudo docker inspect -f "{{json .NetworkSettings}}" hello
{"Bridge":"docker0","Gateway":"172.17.42.1","IPAddress":"172.17.0.85","IPPrefixLen":16,"PortMapping":null,"Ports":{"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"80"}],"8080/tcp}
다음 명령은 컨테이너의 세부 정보에서 특정 부분만 추출하여 원하는 포맷으로 출력합니다.
$ 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
80/tcp -> 80 8080/tcp -> 8080
.NetworkSettings.Ports의 내용은 다음과 같습니다.
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
],
"8080/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8080"
}
]
}
여기서 {{range $p, $conf := .NetworkSettings.Ports}}으로 .NetworkSettings.Ports의 내용을 순회하면서 $p, $conf에 대입합니다. 그리고 $p는 그대로 출력하고, $conf 배열에서 첫 번째 항목(index $conf 0)의 .HostPort를 출력합니다.
{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.