2017-10-10 2 views
0

이미지 크기에 대한 도커 테스트를 수행했습니다.docker 커밋을 실행 한 후 docker 이미지 크기가 너무 커야합니다.

# docker images 
REPOSITORY       TAG     IMAGE ID    
CREATED    SIZE 
img_anaconda_installed    latest    5bbdedd62fd3   
21 seconds ago  2.79GB 
img_anaconda      latest    5d9dbd3c4a63   
14 minutes ago  794MB 
centos        latest    196e0ce0c9fb   
3 weeks ago   197MB 

centos는 '도커 끌어 당기는 centos'를 실행하는 이미지이며, 그 크기는 197M입니다.

그런 다음 centos 컨테이너를 실행하고 컨테이너에서 yum 설치 wget, yum bzip2 설치, anaconda.sh 파일 다운로드 및 컨테이너 중지를 수행했습니다.

그런 다음 새로운 이미지를 만들기 위해 '도우미 커밋 my_container img_anaconda'를 실행했습니다. 이미지 크기는 794M입니다. 내가 생각했던 것보다 약간 큰 크기입니다.

마지막으로 my_container를 다시 입력하여 아나콘다를 설치했습니다. 아나콘다를 마친 후 컨테이너를 멈추고 도커가 img_anaconda_installed라는 이름의 새로운 이미지를 커밋합니다. 그것의 크기는 2.79GB입니다.

내 질문에 큰 크기의 이유는 아나콘다가 크거나 독커 커밋이 원인이되는 것입니다.

추 신 : anaconda.sh 파일 크기는 103M입니다.

답변

1

이미지가 많을수록 결과 크기가 커집니다.
yum 저장소 (패키지를 추가했기 때문에!)를 업데이트 한 다음 해당 계층을 커밋하면 이미지 크기가 더 커집니다. 캐시를 지우면 조금 줄어들 수 있습니다.

실행중인 컨테이너를 통해 이미지를 업데이트하는 대신 Dockerfile을 작성하는 것이 좋습니다. 이렇게하면 레이어 수를 더 많이 제어 할 수 있고 훨씬 더 많이 테스트하고 조정할 수 있습니다.

을 실행하면 다른 레이어의 크기도 알 수 있으므로 문제가있는 위치에 대한 힌트를 얻을 수 있습니다.

+0

감사합니다. "도커 기록 "을 확인한 결과 레이어가 centos = 197M 인 것으로 나타났습니다. 그래서 나머지 크기는 yum install과 같은 컨테이너에서의 파일 변경에 있다고 생각합니다. 그러나 그것은 내가 생각했던 것보다 너무 크다. – iloveml

+0

예, 많은 레이어가 있기 때문에 :) – Jite

+0

몇 주 전에이 블로그 게시물을 작성했는데 문제에 대한 더 많은 통찰력을 줄 수 있습니다. https://jite.eu/2017/9/27/layers/ – Jite

관련 문제