- Если в гостевой LXC установлен Debian или Ubuntu, то docker нормально стартует и выполняет например
docker run hello-world
.
Снаружи:
22:22 root@kube / 14:# > zfs list data/lxc_var
NAME USED AVAIL REFER MOUNTPOINT
data/lxc_var 3.18G 2.28G 3.18G legacy
22:23 root@kube / 16:# > mount | grep lxc_var
data/lxc_var on /var/lib/lxc type zfs (rw,relatime,xattr,noacl)
Внутри:
root@debian-11-bare:/# df -h .
Filesystem Size Used Avail Use% Mounted on
data/lxc_var 5.5G 3.2G 2.3G 59% /
root@debian-11-bare:/# mount | grep zfs
data/lxc_var on / type zfs (rw,relatime,xattr,noacl)
system/rootfs on /vagrant type zfs (rw,relatime,xattr,noacl)
system/rootfs on /vagrant type zfs (rw,relatime,xattr,noacl)
system/rootfs on /vagrant type zfs (rw,relatime,xattr,noacl)
data/lxc_var on /var/lib/docker type zfs (rw,relatime,xattr,noacl)
Вопрос, почему докеру удается запуститься и работать внутри LXC контейнера на файловой системе ZFS? Ведь навряд ли это ZFS Storage драйвер докера? Снаружи такое не работает без указания ZFS драйвера в настройках докера?
- А в гостевом Alpine почему-то docker не хочет запускаться, стартует и вылетает. В логе среди многих других сообщений есть ошибка:
panic: cannot statfs cgroup root
Что-то похожее обсуждается в ветке: https://github.com/opencontainers/runc/issues/2573
Я уж пробовал и ext3 ему подсунуть внутри контейнера, и контейнер явно прописать как privileged:
Vagrant.configure("2") do |config|
config.vm.box = "isc/lxc-alpine-3.16"
config.vm.provider :lxc do |lxc|
lxc.privileged = true
end
end
Ничего не помогает. Реальная версия Alpine 3.17 (после upgrade).