docker는 파일 시스템의 남은 디스크 공간을 덮어씁니다.

docker는 파일 시스템의 남은 디스크 공간을 덮어씁니다.

저는 리눅스를 처음 접했습니다. armbian을 SD 카드에 설치했는데 모든 것이 잘 작동했습니다. SD카드는 64GB입니다. 그런 다음 docker.io, docker-compose 및 portainer를 설치하면 그게 전부입니다.

lsblk를 사용하여 디스크 공간을 확인하는 경우:

    # lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0  59.5G  0 disk
├─mmcblk0p1  179:1    0   512M  0 part /boot
└─mmcblk0p2  179:2    0  58.4G  0 part /
mmcblk1      179:32   0  14.6G  0 disk
mmcblk1boot0 179:64   0     4M  1 disk
mmcblk1boot1 179:96   0     4M  1 disk
zram0        254:0    0    50M  0 disk /var/log
zram1        254:1    0 929.4M  0 disk [SWAP]

그런 다음 df를 사용하십시오.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            796M     0  796M   0% /dev
tmpfs           186M  8.0M  178M   5% /run
/dev/mmcblk0p2   58G  2.2G   55G   4% /
tmpfs           930M     0  930M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           930M     0  930M   0% /tmp
/dev/mmcblk0p1  511M   59M  453M  12% /boot
/dev/zram0       49M  7.0M   38M  16% /var/log
overlay          58G  2.2G   55G   4% /var/lib/docker/overlay2/b28da5a318945ac7ae1d17d26a635edb9a662c6116dea37fb4f6c13e1c76d7d2/merged
tmpfs           186M     0  186M   0% /run/user/0

2개의 55GB(/dev/mmcblk0p2 및 오버레이 파일 시스템)가 남아 있는 이유는 무엇입니까? 이는 /var/lib/docker/overlay2/.../merged이 폴더에서 55GB의 공간 만 사용할 수 있다는 의미입니까 ?

감사해요

답변1

/dev/mmcblk0p2Linux 배포판을 설치하기 위한 루트 파일 시스템입니다.

2.2GB사용 및 사용 가능한 곳 55GB.

/var/lib/docker/overlay2디렉터리는 Docker가 이미지와 컨테이너를 저장하는 곳입니다.

Docker는 저장을 위해 Copy-On-Write 파일 시스템을 사용하여 기존 파일 시스템 위에 새 레이어를 생성합니다.

이는 Docker 오버레이 파일 시스템과 표시되는 위치입니다.df -h

overlay          58G  2.2G   55G   4% /var/lib/docker/overlay2/b28da5a318945ac7ae1d17d26a635edb9a662c6116dea37fb4f6c13e1c76d7d2/merged

SD 카드에는 파일 저장, 패키지 설치, Docker 사용 등을 위한 55GB충분한 저장 공간이 있습니다.

원하는 경우 이 경로를 다른 디렉터리, 저장소 또는 디스크로 변경할 수 있습니다.

도커 스토리지 드라이버

OverlayFS 스토리지 드라이버 사용

레거시 오버레이 드라이버는 Overlay2에 필요한 "다중 하위 디렉터리" 기능을 지원하지 않는 커널용입니다. 현재 지원되는 모든 Linux 배포판은 이제 이를 지원하므로 더 이상 사용되지 않습니다.

Docker의 오버레이

Docker는 오버레이 파일 시스템을 사용하여 이미지를 생성하고 컨테이너 레이어를 이미지 레이어 위에 배치합니다. 이미지가 다운로드되면 해당 레이어는 /var/lib/docker/overlay2 폴더에 위치합니다.

병합된 폴더는 오버레이 파일 시스템이며 자체적으로 디스크 공간을 차지하지 않습니다. 대신 df는 기본 파일 시스템의 디스크 사용량을 보고합니다. 귀하의 경우에는 /

/var/lib/docker/overlay2/*/merged가 너무 많은 공간을 차지함

관련 정보