Який спосіб вирішити LXD-вкладений пікельований докер (помилка /dev/.lxc/proc/)?


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: Docker in 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-профіль дає "докер" security.privileged=true). Я спробував hello-worldзображення в привілейованому LXD - така ж проблема. Більше не майте цієї конфігурації, переміщено до KVM.
Велкан

Відповіді:


0

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

Дивіться… https://github.com/lxc/lxd/isissue/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оснащення працюють як, але це різні версії, мають різні політики оновлення тощо. Версія Snap, яка використовується вище, становить 17.06.2-ce, тоді як пакет docker.io в xenial - 1.13.1.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.