2016-11-12 1 views
0

우분투에서 도커로 시작했습니다. 다음과 같이 고정물 이미지를 뽑았습니다.로컬 호스트에서 도커 이미지의 레이어를 얻는 방법

docker pull coreos/apache 

이제 세 개의 레이어가 표시됩니다.

Using default tag: latest 
latest: Pulling from coreos/apache 
a3ed95caeb02: Pull complete 
5e160ca0bb5a: Pull complete 
1f92e2761bfd: Pull complete 
Digest: sha256:9af520cee7bedcda564970ff790cdf2e72b6daccce8539f6b3c880ed7fc21091 
Status: Downloaded newer image for coreos/apache:latest 

위 그림에서이 이미지에는 3 개의 레이어가 있음을 알 수 있습니다.

하지만 이제 터미널을 닫았다가 다시 열면이 이미지의 레이어 (위의 동일한 정보)를 얻을 수 있습니다. 명령은 무엇입니까?

내가 도커 이미지를 만들 때 나는 이것을 얻는다.

REPOSITORY   TAG     IMAGE ID   CREATED    SIZE 
centos    latest    0584b3d2cf6d  9 days ago   196.5 MB 
hello-world   latest    c54a2cc56cbb  4 months ago  1.848 kB 
coreos/apache  latest    5a3024d885c8  2 years ago   294.4 MB 

이제 이미지 ID를 알았으므로 이미지 ID에 대한 레이어를 어떻게 얻을 수 있습니까?

docker images --tree 

에서와 나무 옵션은 더 이상 작동하지 않습니다. 그것은 제거 될 것으로 보인다. 하나의 명령이 아니라면 어떻게 명령 시퀀스를 사용하여 얻을 수 있습니까?

답변

1

이미지가 로컬 호스트 (계층으로)에 ​​다운로드되었으므로 터미널을 종료하고 다시 로그인하더라도 이미지는 여전히 호스트에 있습니다. 레이어로 다운로드되었지만 로컬 호스트의 이미지로 상주합니다. '도커 실행'을 사용하여 컨테이너로 인스턴스화 할 수 있습니다.

이미지를 다시 당겨서 가져 오는 모든 레이어를 보려면 먼저 이미지 (docker rmi)를 지운 다음 다시 '도커 pull coreos/apache'를 수행하십시오. HTH

편집 : 당신이 busybox이있는 경우, 여기

docker history <imageid> 
+0

나는 그것을 이해하지만 내가 원하는 것은 이미지가 구성하는 계층을 알아야한다는 것입니다. 어떻게 그 정보를 얻을 수 있습니까? – VivekDev

+1

@VivekDev의 경우 여기에 설명 된대로 '도커 기록 '을 사용할 수 있습니다. –

+1

https://docs.docker.com/engine/reference/commandline/history/ –

1

나는 그것을 얻을 것이다 방법은 다음과 같습니다 이미지에 들어간 실제 레이어를 보여주기는 실행합니다.

docker inspect busybox - 자세한 구성은 json 형식으로 표시되며 아래는 레이어를 가져 오기위한 것입니다.

"RootFS": { 
      "Type": "layers", 
      "Layers": [ 
       "sha256:e88b3f82283bc59d5e0df427c824e9f95557e661fcb0ea15fb0fb6f97760f9d9" 
      ] 
     } 

할 수 있습니다 간단한 필터 그것으로 영업 이익이 찾고 정확히 줄 것 docker inspect--format 옵션을 사용하여 명령 아래.

rao @ ubuntu $ docker inspect --format '{{.RootFS.Layers}}' busybox 
[sha256:e88b3f82283bc59d5e0df427c824e9f95557e661fcb0ea15fb0fb6f97760f9d9] 
관련 문제