Bash 출력에서 ​​grep docker id를 사용해 보세요.

Bash 출력에서 ​​grep docker id를 사용해 보세요.

이건 내 명령이야

docker images --filter  label=my_label=intro2

그리고 출력

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              3b3cb3ba4220        45 hours ago        1.34GB

어떻게 grep 합니까 3b3cb3ba4220? 또한 grep/awk 작동 방식에 대한 일반적인 설명을 제공해 주시면 감사하겠습니다.

답변1

docker images --filter label=my_label=intro2 --format "{{.ID}}" 

Docker를 직접 사용하지 않아 이것이 작동하는지 확인할 수 없지만 여기에 있습니다.수동설명하다.

--format옵션은 다음에 설명되어 있습니다.매뉴얼의 또 다른 부분.

답변2

조금 늦을 수도 있습니다. 그러나 저장소와 태그가 "<none>"인 이미지를 정지 이미지라고 합니다.

이게 뭐야?도커 문서나는 "라고 말해야한다태그가 지정되지 않은 이미지 표시(비어 있음)"부분"필터" 부분:

$ docker images --filter "dangling=true"

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              8abc22fbb042        4 weeks ago         0 B
<none>              <none>              48e5f45168b9        4 weeks ago         2.489 MB
<none>              <none>              bf747efa0e2f        4 weeks ago         0 B

그러면 이미지 트리의 잎(중간 레이어가 아님)인 라벨이 지정되지 않은 이미지가 표시됩니다. 이러한 이미지는 새로 빌드된 이미지가 이미지 ID에서 repo:tag를 제거하여 태그가 지정되지 않은 상태로 남겨둘 때 발생합니다. 컨테이너가 현재 이미지를 사용하고 있는 동안 이미지를 삭제하려고 하면 경고가 발생합니다. 이 플래그를 사용하면 일괄 청소가 가능합니다.

Docker는 이러한 매달려 있는 ID를 추출하는 정확한 명령을 제공합니다. grep할 필요가 없습니다. 다음을 사용하세요:

docker images --format "{{.ID}}" --filter "dangling=true"

관련 정보