Docker внутри процесса запуска контейнера LXC вызвал «применить крышки: операция не разрешена»

Я пытаюсь запустить контейнер Docker внутри контейнера LXC. Однако это приводит к появлению следующей ошибки: [ root @ DH-DockerLXC01 alex] # запуск докера fedora bash докер: ответ об ошибке от демона: сбой при создании среды выполнения OCI: container_linux.go: 337: запуск процесса контейнера вызвал «применить крышки: операция не разрешена»: неизвестно. ERRO [0001] ошибка ожидания контейнера: контекст отменен Я предполагаю, что мне нужно настроить некоторую конфигурацию, чтобы она была более разрешительной, но поскольку я создал контейнер LXC с помощью virt-manager, я не уверен, с чего начать.

Обратите внимание, что контейнер LXC использует chroot для хранения, что AFAIK должно позволить докеру без проблем использовать полную AUFS, но если я ошибаюсь, поправьте меня.

0
задан 28 December 2018 в 11:21
2 ответа

Как оказалось, LXC по умолчанию не позволяет контейнерам иметь возможность CAP_MKNOD, поскольку теоретически может позволить контейнеру взять на себя управление хостом. Это можно изменить, но это не очень хорошо документировано. Основываясь на запросе на перенос от 2015 года в списке рассылки, я смог собрать фрагмент XML, который это делает. Вам просто нужно отредактировать определение контейнера, которое находится в / etc / libvirt / lxc / [имя контейнера] /

<features>
  <capabilities policy='allow'>
    <mknod state='on'/>
  </capabilities>
</features>

Обратите внимание, что файл может уже содержать определение, в этом случае вставьте раздел внутри этого раздел. Возможно, вам придется перезапустить libvirt, прежде чем она вступит в силу, с помощью systemctl restart libvirtd.service (это не приведет к перезапуску существующих контейнеров или виртуальных машин, а только к службе).

0
ответ дан 5 December 2019 в 04:44

Это решение помогает привилегированным LXC, управляемым Proxmox:

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

Позаботьтесь о безопасности! Источник:Запуск Docker на Proxmox

0
ответ дан 14 October 2021 в 07:35

Теги

Похожие вопросы