2017-09-20 4 views
0

각 도커 이미지는 일련의 레이어로 구성됩니다.도커 이미지에서 특정 레이어의 데이터를 표시 할 수 있습니까? 그리고 어떻게?

예 : 맞춤 elasticsearch : 최신

$: docker history custom-elasticsearch 
IMAGE    CREATED    CREATED BY          SIZE    COMMENT 
5f14f49e0f6b  8 days ago   /bin/sh -C#(nop) EXPOSE 9091/tcp 9200/tcp 9 0 B     
c1b5b6bdc8d8  8 days ago   /bin/sh -c /usr/share/elasticsearch/bin/plugi 3 MB    
a406ab7ba4ed  8 days ago   /bin/sh -C#(nop) COPY file:cf296a4961a04abc0 489 B    
6b0d046baaa8  8 days ago   /bin/sh -C#(nop) COPY file:81c04951307f0688f 83 B    
6f609da577b7  20 months ago  /bin/sh -C#(nop) CMD ["elasticsearch"]   0 B     
<missing>   20 months ago  /bin/sh -C#(nop) EXPOSE 9200/tcp 9300/tcp  0 B     
<missing>   20 months ago  /bin/sh -C#(nop) ENTRYPOINT &{["/docker-entr 0 B     
<missing>   20 months ago  /bin/sh -C#(nop) COPY file:d25889029dd34582c 672 B 
//... 

내가 보여 아이디 (6b0d046baaa8)과 제 4 층에서 이미지 파일을 복사 할 수 있습니까? 감사합니다.

답변

0

직접 레이어 FS를 탐색 할 수 없다고 생각합니다. 당신은 몇 가지 트릭을 할 수 그러나이 지정된 레이어에서 컨테이너를 시작합니다

docker run --name layer 5f14f49e0f6b bash 

: 당신은 예를 레이어에서 컨테이너를 시작 . 파일을 탐색하고 파일을 볼 수 있습니다. 파일을 복사하려면 다른 터미널에서 다음을 입력하십시오.

docker cp layer:<path-to-file-to-copy> . 

그러면 파일이 컨테이너에서 호스트로 복사됩니다.