При проверке файловой системы контейнера докеров я использовал df -h
для проверки файловой системы с точки зрения контейнера:
$ docker run -it busybox sh
/ # df -h
Filesystem Size Used Available Use% Mounted on
overlay 97.8G 78.7G 14.1G 85% /
tmpfs 64.0M 0 64.0M 0% /dev
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda2 97.8G 78.7G 14.1G 85% /etc/resolv.conf
/dev/sda2 97.8G 78.7G 14.1G 85% /etc/hostname
/dev/sda2 97.8G 78.7G 14.1G 85% /etc/hosts
shm 64.0M 0 64.0M 0% /dev/shm
tmpfs 64.0M 0 64.0M 0% /proc/kcore
tmpfs 64.0M 0 64.0M 0% /proc/timer_list
tmpfs 64.0M 0 64.0M 0% /proc/sched_debug
tmpfs 7.8G 0 7.8G 0% /proc/scsi
tmpfs 7.8G 0 7.8G 0% /sys/firmware
Что я вижу, когда бегу df -h
на моем фактическом хосте:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 9.6M 1.6G 1% /run
/dev/sda2 98G 79G 15G 85% /
tmpfs 7.8G 82M 7.8G 2% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda3 108G 34G 75G 31% /dev/sda5
/dev/sda1 511M 32M 480M 7% /boot/efi
tmpfs 1.6G 56K 1.6G 1% /run/user/1000
Неудивительно, что есть дополнительные другие файловые системы, смонтированные в контейнере механизмом докеров, однако я не ожидал, что контейнер сможет видеть / dev / sda2 и его использование. Вы можете объяснить такое поведение тем, что я не прилагал никаких томов? Я ожидал, что контейнер будет иметь изолированное представление о хосте, чтобы не «видеть» некоторые из его файловых систем.
У вашего фактического хозяина есть sda1
, sda2
, и sda3
, в то время как ваш экземпляр докера имеет только sda2
. Они тоже по-разному монтируются. Для вашего экземпляра докера:
/dev/sda2 97.8G 78.7G 14.1G 85% /etc/resolv.conf
/dev/sda2 97.8G 78.7G 14.1G 85% /etc/hostname
/dev/sda2 97.8G 78.7G 14.1G 85% /etc/hosts
Для вашего фактического хоста:
/dev/sda1 511M 32M 480M 7% /boot/efi
/dev/sda2 98G 79G 15G 85% /
/dev/sda3 108G 34G 75G 31% /dev/sda5
РЕДАКТИРОВАТЬ:
Наконец, их ценность использования сильно различается. Это явно разные устройства.
Значения использования совпадают для sda2
. Возможно, этого не избежать. Насколько мне известно, Doker создавался не с учетом мультитенантности (например, услуг хостинга для третьих сторон), а скорее в духе DevOps, когда человек, обслуживающий контейнеры докеров, также имеет доступ к физическому хосту, поэтому я бы не стал. Я не вижу в этом огромной проблемы.