web-dev-qa-db-fra.com

Comment modifier les rootfs d'un conteneur LXC non privilégié?

J'ai configuré les espaces de noms pour les conteneurs LXC sans privilèges à l'aide de ce document

https://help.ubuntu.com/lts/serverguide/lxc.html#lxc-unpriv

Je peux créer et démarrer des conteneurs avec lxc-create et lxc-start sans utiliser Sudo.

Mais maintenant, je veux modifier le conteneur avant de le démarrer, mais je ne peux pas le faire car rootfs appartient à l'utilisateur 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

Comment puis-je contourner ce problème?

Le conteneur a été créé en utilisant cette

lxc-create -t download -n u1 -- -d ubuntu -r trusty -a AMD64
4
Epeli

Je l'ai. En utilisant la commande lxc-usernsexec pour exécuter mes commandes de modification de conteneur.

Citation de la page de manuel:

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.

Exemple de fichier personnalisé /etc/hosts

lxc-usernsexec cp hosts $HOME/.local/share/lxc/u1/rootfs/etc/hosts
4
Epeli