Docker Mac OS X 디스크 활용도가 지속적으로 증가하고 있습니다.

Docker Mac OS X 디스크 활용도가 지속적으로 증가하고 있습니다.

저는 Mac OS X 10.10.5(Yosemite)에서 최신 버전 docker-machine(0.4.1)의 Docker 최신 버전(1.8.2)을 실행하고 있습니다. 스톡 호스트에서 실행되는 바닐라 CentOS 6 컨테이너가 두 개뿐입니다 docker-machine. 특별한 구성은 없으며 컨테이너는 실제로 아무것도 실행하지 않고 단지 bash 쉘만 실행합니다.

df -h시간이 지남에 따라 컨테이너와 호스트 시스템(예: ) 모두에서 100%까지 증가하여 디스크 사용률이 보고되는 것을 볼 수 있습니다 docker-machine. 컨테이너를 종료할 때까지 Mac의 팬이 켜지고 속도가 빨라지는 소리도 들립니다.

일부 불량 프로세스로 인해 로컬 파일 시스템이 컨테이너 내부에서 커지는 원인이 될 수 있다고 생각했지만 du -hs /보고된 용량은 수백 MB에 불과했습니다.

저는 Docker를 처음 접했고 이 문제의 원인을 추적할 수 없는 것 같습니다. 디스크 활용도가 이렇게 통제할 수 없을 정도로 커지는 원인이 무엇인지 아시나요?

편집 1: df -h및 의 출력을 추가합니다.df -i

컨테이너의 디스크 사용량

[root@99e23f7c4ae6 /]# df -h
Filesystem      Size  Used Avail Use% Mounted on
none             19G   18G     0 100% /
tmpfs           499M     0  499M   0% /dev
shm              64M     0   64M   0% /dev/shm
tmpfs           499M     0  499M   0% /sys/fs/cgroup
/dev/sda1        19G   18G     0 100% /etc/hosts
tmpfs           499M     0  499M   0% /proc/kcore
tmpfs           499M     0  499M   0% /proc/timer_stats

[root@99e23f7c4ae6 /]# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
none           1218224 28199 1190025    3% /
tmpfs           127518    17  127501    1% /dev
shm             127518     1  127517    1% /dev/shm
tmpfs           127518    11  127507    1% /sys/fs/cgroup
/dev/sda1      1218224 28199 1190025    3% /etc/hosts
tmpfs           127518    17  127501    1% /proc/kcore
tmpfs           127518    17  127501    1% /proc/timer_stats

[root@99e23f7c4ae6 /]# du -hs /
du: cannot access '/proc/348/task/348/fd/3': No such file or directory
du: cannot access '/proc/348/task/348/fdinfo/3': No such file or directory
du: cannot access '/proc/348/fd/4': No such file or directory
du: cannot access '/proc/348/fdinfo/4': No such file or directory
610M    /

호스트의 디스크 사용량

docker@default:~$ df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                   896.6M    115.3M    781.3M  13% /
tmpfs                   498.1M     72.0K    498.0M   0% /dev/shm
/dev/sda1                18.2G     18.2G         0 100% /mnt/sda1
cgroup                  498.1M         0    498.1M   0% /sys/fs/cgroup
none                    464.8G    224.6G    240.2G  48% /Users
/dev/sda1                18.2G     18.2G         0 100% /mnt/sda1/var/lib/docker/aufs
none                     18.2G     18.2G         0 100% /mnt/sda1/var/lib/docker/aufs/mnt/99e23f7c4ae608b2354c9375a0e3a7513692b44297c24d143a6b92dd73dae611
df: /var/run/docker/netns/99e23f7c4ae6: Permission denied

docker@default:~$ df -i
Filesystem              Inodes      Used Available Use% Mounted on
tmpfs                   124.5K      4.4K    120.2K   3% /
tmpfs                   124.5K         3    124.5K   0% /dev/shm
/dev/sda1                 1.2M     27.5K      1.1M   2% /mnt/sda1
cgroup                  124.5K        11    124.5K   0% /sys/fs/cgroup
none                      1000         0      1000   0% /Users
/dev/sda1                 1.2M     27.5K      1.1M   2% /mnt/sda1/var/lib/docker/aufs
none                      1.2M     27.5K      1.1M   2% /mnt/sda1/var/lib/docker/aufs/mnt/99e23f7c4ae608b2354c9375a0e3a7513692b44297c24d143a6b92dd73dae611
df: /var/run/docker/netns/99e23f7c4ae6: Permission denied

답변1

를 사용하여 새 컨테이너를 시작할 때마다 docker run본질적으로 시작한 원본 이미지에서 분기되므로 수행하는 작업에 따라 아무 이유 없이 공간을 차지하는 매우 유사한 이미지가 많이 있을 수 있습니다. 또한 Mac에서 Docker는 VirtualBox 기반 VM에 의해 호스팅되므로 모든 Docker 이미지가 전체 디스크 공간을 공유한다는 점을 기억해야 합니다.

방금 Docker를 시작했기 때문에 이 문제를 처리하는 더 좋은 방법이 있을 것입니다. 그러나 이것이 아래에서 해결한 방법입니다. 반드시 모든 컨테이너를 제거하고 싶지 않을 수도 있지만 이렇게 하면 도커 상태에 대한 통찰력을 얻을 수 있습니다.

  • 초기화된 컨테이너를 확인하세요. docker ps -a( -a일부 컨테이너가 실행되고 있지 않기 때문입니다)
  • 기존 컨테이너를 모두 중지합니다. docker stop `docker ps -a|cut -f 1 -d ' '|xargs`

  • 모두 제거기존 컨테이너: docker rm `docker ps -a|cut -f 1 -d ' '|xargs`

  • 모두 제거"이름이 없는"( <none>) 이미지. 나는 나만의 이미지를 만들어 보았는데 대부분은 사용되지 않았습니다. docker rmi `docker images|grep -i none|sed -e 's/ \{1,\}/ /g'| cut -d ' ' -f 3|xargs`

그 후 나는 내 공간을 되찾았습니다.

관련 정보