Какой обходной путь для Livd-вложенного докера (/dev/.lxc/proc/ error)?


8

Запуск привилегированного док-контейнера в LXD завершается неудачно с этим:

docker: Error response from daemon: linux runtime spec devices: lstat /dev/.lxc/proc/1482/fdinfo/12: no such file or directory.

Действия по воспроизведению:

lxc launch ubuntu-daily:16.04 docker -p default -p docker
lxc exec docker -- apt install docker.io -y
lxc exec docker bash
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch

Оригинальное руководство: LXD 2.0: Докер в LXD

Отчет об ошибке : контейнеры Docker перестали работать в каталоге /dev/.lxc/proc # 2825 - GitHub

Как заставить это работать?


Это руководство, которое вы связали, говорит, что вам нужно A Docker image which behaves when confined by user namespaces, or alternatively make the parent LXD container a privileged container (security.privileged=true). Возможно ли проблема с scope? Можете ли вы запустить lxc exec docker -- docker run --detach --name app carinamarina/hello-world-appили, альтернативно, он работает в привилегированном контейнере?
Джонатан Я.

LXD был привилегированным контейнером (профиль LXD 'docker' дает security.privileged=true). Я пробовал какое-то hello-worldизображение в привилегированном LXD - та же проблема. Больше нет этого конфига, перешел на KVM.
Велкан

Ответы:


0

По словам Стефана Грабера (ведущего разработчика LXD), вам больше не нужен профиль докера LXD!

Смотрите… https://github.com/lxc/lxd/issues/3299


Пожалуйста, старайтесь всегда указывать номер версии с момента ее исправления. Всегда неприятно клонировать репозитории, искать коммит и следующий релиз после него.
Велкан

0

Просто чтобы немного это исправить , это решается довольно красиво (как указывает @bmullan).

16.04, lxd версия 2.21, работает следующая последовательность:

lxc launch ubuntu-daily:xenial xenial
lxc config set xenial security.nesting true
lxc exec xenial snap install docker
lxc exec xenial docker run ubuntu ls

docker.ioПакет, и dockerоснастка и работы, но разные версии, и имеет различные политики обновления и т.д. оснастка используется версия выше 17.06.2-с, в то время как пакет docker.io в 1.13.1 является дружественным.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.