あなたが言及しているhttps://wiki.gentoo.org/wiki/LXDの指示は正しいですが、もう少し説明が必要な場合があります。
ホストでは、最初にコンテナデータが保存されているディレクトリの所有権を確認します。走る
sudo ls -l /var/lib/lxd/containers
ディレクトリを共有するコンテナの所有者を確認します。私の場合uid
とgid
の両方が100000でした。
次に、これらを使用して、共有するディレクトリの所有権を変更します。
sudo chown 100000:100000 /tmp/share_on_host
コメントで指定した方法で、ディレクトリをコンテナと共有します。
lxc config device add mycontainer sharedtmp disk \
path=/tmp/share_on_guest source=/tmp/share_on_host
これで、コンテナ内で、ディレクトリがディレクトリ/tmp/share_on_guest
によってマウント/tmp
されていることがわかります(ディレクトリは他のシステムに使用され、特別な権限を持っているため、ディレクトリをマウントすることはお勧めしません)。ここから上で使用することができchown
、適切なに所有権を変更するには、コンテナにuid
し、gid
コンテナ内のユーザーのために。
補足として、コンテナの所有権をたとえばuid
33のユーザーに変更すると、ホスト上でuid
100033 が表示されます。これはまったく理にかなっています。
lxc config device add confexample sharedtmp disk path=/tmp source=/tmp/shared
。しかし、コンテナ上のディレクトリを見ると、そこにあるファイルの所有者とグループは「nobody」と「nogroup」に設定されており、マウントは読み取り専用です。