데브옵스(DevOps)를 위한 쿠버네티스 마스터/왕초보도 따라하는 도커 기초

이미지 비밀 : 레이어

webmaster 2022. 5. 30. 11:21
728x90

이미지 레이어

  • 왼쪽: 이미지 A를 지운다 하더라도 이미지 B에서 레이어 A, B, C를 사용하고 있기 때문에 지워지지 않음
    • 이미지 A가 있는 경우 이미지 B를 다운로드하게 되면 레이어 D만 다운로드한다.
  • 오른쪽: 이미 존재하는 레이어 A, B는 새로 다운로드할 필요가 없음
    • 레이어 C만 다르기 때문에 C만 다운로드

도커 이미지 정보 확인

sudo docker pull nginx   # 도커 이미지 가지고 오기
sudo docker inspect nginx # 도커 이미지 정보 상세확인

도커 이미지 저장소 위치 확인

sudo docker info
sudo -i
cd /var/lib/docker/overlay2

레이어 저장소 확인

root@server1-VirtualBox:/var/lib/docker/overlay2# ls
0cc29ea5605872d9c8291673064e85b07160203fbf04b34eeeed899731361960 # 레이어 변경 사항 저장
615767e7221dbc99b8e441e35a88df5d74c911f2674ceaa28001388535e95be2 # 레이어 변경 사항 저장
9f3bb671f38d7f61f661af369d420cdedb195e4d623bdb6ba8e3b045f72e8d69 # 레이어 변경 사항 저장
l # 원본 레이어 저장

도커 용량 확인하기

du -sh /var/lib/docker/ #도커가 설치된 환경 용량 확인
2.0G	/var/lib/docker/

du -sh /var/lib/docker/image/ # 도커 이미지에 대한 정보 저장 디렉토리
2.7M	/var/lib/docker/image/

du -sh /var/lib/docker/overlay2/ # 도커 이미지의 파일 시스템이 사용되는 실제 디렉토리
2.0G	/var/lib/docker/overlay2/

du -sh /var/lib/docker/containers/ # 도커 컨테이너 정보 저장 디렉토리
136K	/var/lib/docker/containers/
  • /var/lib/docker 정보
    • /image 안에는 imagedb, layerdb 가 있다.
    • imagedb는  layerdb에 대한 정보를 , layerdb는 overlay2에 대한 정보를 가지고 있다.
    • 실제 정보는 결국 overlay2에 들어있다.
    • overlay2에 변경사항에 대한 부분은 /overlay2/l에 존재하고 있다

도커 컨테이너 크기 비교(실제 overlay2에 데이터가 들어가 무거운것을 확인할 수 있다)

728x90