3

Я использую последнюю версию Docker (1.8.2) на Mac OS X 10.10.5 (Yosemite) с последней версией docker-machine (0.4.1). У меня есть только два ванильных контейнера CentOS 6, работающих на хосте docker-machine . Специальной конфигурации нет, контейнеры на самом деле вообще ничего не запускают… только оболочка bash.

Со временем я вижу, что использование диска, сообщаемое df -h увеличивается до 100% как на контейнерах, так и на хост-машине (то есть на docker-machine). Я также слышу, как вентилятор на моем Mac включается и ускоряется, пока я не выключу контейнеры.

Я подумал, что, возможно, какой-то мошеннический процесс вызвал рост локальной файловой системы внутри контейнеров, но du -hs / сообщает только о нескольких сотнях МБ.

Я относительно новичок в 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 ответ1

0

Каждый раз, когда вы запускаете новый контейнер с docker run , вы по существу отходите от того исходного изображения, с которого вы начали, поэтому в зависимости от того, что вы делаете, у вас может быть куча очень похожих изображений, которые занимают пространство без причины. Вы также должны помнить, что на Mac Docker размещается на виртуальной машине на основе VirtualBox, поэтому все образы 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`

После этого я вернул себе место.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .