LINUX.ORG.RU
ФорумAdmin

Вопросы о Docker контейнере внутри LXC контейнера.

 , ,


0

1
  1. Если в гостевой 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 драйвера в настройках докера?

  1. А в гостевом 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).