Как изменить rootfs непривилегированного контейнера LXC?

Я настроил пространства имен для непривилегированных контейнеров LXC, используя этот документ

https://help.ubuntu.com/lts/serverguide/lxc.html

Я могу создавать и запускать контейнеры, используя lxc-create а также lxc-start без использования sudo.

Но теперь я хочу изменить контейнер перед его запуском, но я не могу этого сделать, потому что rootfs принадлежит пользователю 100000:

vagrant@lxci-host:~$ ls -l $HOME/.local/share/lxc/u1/ total 8 -rw-rw-r-- 1 vagrant vagrant 616 Nov 22 12:38 config drwxr-xr-x 21 100000 100000 4096 Nov 22 12:38 rootfs

Как я могу обойти это?

Контейнер был создан с использованием этого

lxc-create -t download -n u1 -- -d ubuntu -r trusty -a amd64

1 ответ

Решение

Понял. Используя lxc-usernsexec команда для выполнения моих команд изменения контейнера.

Цитата справочной страницы:

NAME
       lxc-usernsexec - Run a task as root in a new user namespace.

SYNOPSIS
       lxc-usernsexec [-m uid-map] {-- command}

DESCRIPTION
       lxc-usernsexec can be used to run a task as root in a new user namespace.

Пример для кастома /etc/hosts файл

lxc-usernsexec cp hosts $HOME/.local/share/lxc/u1/rootfs/etc/hosts
Другие вопросы по тегам