web-dev-qa-db-ja.com

特権のないLXCコンテナのrootfsを変更する方法は?

このドキュメントを使用して、非特権LXCコンテナーの名前空間を構成しました

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

Sudoを使用せずにlxc-createおよびlxc-startを使用してコンテナを作成および起動できます。

しかし、コンテナを起動する前に変更したいのですが、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
4
Epeli

とった。 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
4
Epeli