수색…


다양한 도커 검사 예제

나는 docker inspect 문서의 예제가 마술처럼 보이지만 많은 것을 설명하지는 않는다는 것을 알았습니다.

도커 검사는 실행중인 컨테이너 docker inspect -f ... container_id 에서 정보를 추출하는 깨끗한 방법이므로 중요합니다. docker inspect -f ... container_id

(또는 실행중인 모든 컨테이너)

docker inspect -f ... $(docker ps -q)

신뢰할 수없는 일부 피하기

docker command | grep or awk | tr or cut

docker inspect 를 시작할 때 htop을 실행하는 컨테이너 ( https://hub.docker.com/r/jess/htop/) 와 같은 기본 구문과 같이 "최상위 수준"에서 값을 쉽게 얻을 수 있습니다. pid ae1로

docker inspect -f '{{.Created}}' ae1

보여줄 수있다.

2016-07-14T17:44:14.159094456Z

또는

docker inspect -f '{{.Path}}' ae1

보여줄 수있다.

htop

이제 내가 docker inspect 의 일부를 추출하면

내가 참조

"State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 4525, "ExitCode": 0, "Error": "", "StartedAt": "2016-07-14T17:44:14.406286293Z", "FinishedAt": "0001-01-01T00:00:00Z" 그것은 { ...} 와 많은 키 : 값을 가지고 있기 때문에

그래서 명령

docker inspect -f '{{.State}}' ae1

다음과 같은 목록을 반환합니다.

{running true false false false false 4525 0 2016-07-14T17:44:14.406286293Z 0001-01-01T00:00:00Z}

나는 State.Pid의 가치를 쉽게 얻을 수있다.

docker inspect -f '{{ .State.Pid }}' ae1

나는 얻다

4525

때때로 도커 검사는 [ 시작하고 끝나는 ] 목록을 제공합니다 ]

다른 예, 또 다른 컨테이너

docker inspect -f '{{ .Config.Env }}' 7a7

주는

[DISPLAY=:0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG=fr_FR.UTF-8 LANGUAGE=fr_FR:en LC_ALL=fr_FR.UTF-8 DEBIAN_FRONTEND=noninteractive HOME=/home/gg WINEARCH=win32 WINEPREFIX=/home/gg/.wine_captvty]

목록의 첫 번째 요소를 가져 오려면 필수 필드 앞에 index를 추가하고 after는 첫 번째 요소로 0을 추가합니다.

docker inspect -f '{{ index ( .Config.Env) 0 }}' 7a7

주는

DISPLAY=:0

같은 구문을 사용하여 0 대신에 다음 요소를 얻습니다.

docker inspect -f '{{ index ( .Config.Env) 1 }}' 7a7

주는

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

이 목록의 요소 수를 얻을 수 있습니다.

docker inspect -f '{{ len .Config.Env }}' 7a7

주는

9

우리는 목록의 마지막 요소를 얻을 수 있습니다. 구문은 쉽지 않습니다.

docker inspect -f “{{ index .Config.Cmd $[$(docker inspect –format '{{ len .Config.Cmd }}' $CID)-1]}}” 7a7



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow