Comment partager un dossier entre le système hôte (ubuntu 14.04) et un conteneur ubuntu lxc?
J'ai essayé de monter le dossier sur l'hôte:
sudo mount --bind /media/data/share /media/data/container/name/rootfs/share
mais je ne vois aucun fichier.
C'est la même chose pour:
sudo ln -s /media/data/share /media/data/container/name/rootfs/share
Dois-je modifier les autorisations du dossier de partage?
lxd
) tel qu'utilisé dans cette réponse ou à LXC (le logiciel et le "vieux" jeu d'outils avec leslxc-*
outils nommés) ou au projet (où LXC est l'abréviation de LinuX Containers). C'est la raison pour laquelle j'ai posé cette question sur la méta Unix.SE.J'ai trouvé un article sur le wiki openSUSE: https://en.opensuse.org/User:Tsu2/LXC_mount_shared_directory
J'ai suivi les étapes et cela fonctionne maintenant.
Créer un répertoire hôte:
Créez un répertoire dans le conteneur lxc:
Editez le fichier de configuration lxc sur l'hôte:
la source
share
danslxc.mount.entry
est critique.Vous trouverez ci-dessous ce que j'ai fait pour monter un de mon répertoire hôte dans le conteneur. C'est plus compliqué qu'il n'y paraît car nous aimerions réaliser
Après avoir lu divers articles en ligne (le plus utile est ce numéro de github ), voici comment résoudre ce problème. L'astuce consiste à mapper l'uid et le gid de l'utilisateur hôte sur l'uid et le gid de l'utilisateur à l'intérieur du conteneur.
Supposons que je vais monter
/home/breakds/projects
exactement au même endroit dans le conteneur. Le répertoire extérieur appartient à l'utilisateurbreakds
, dont l'uid et le gid sont1000
.J'ai ensuite créé un utilisateur dans le conteneur appelé
debian
, dont l'uid et le gid se trouvaient être1000
également (car c'est le premier utilisateur non root). Je vais ensuite créer un (lxc) profie sur l'hôte enEt ci-dessous est le contenu du profil (je crois qu'il est au format yaml):
Ensuite, appliquez ce profil à ce conteneur de manière permanente:
Cela devrait faire l'affaire.
REMARQUE : veuillez noter qu'avant de passer à ce profil, assurez-vous que tous les répertoires ou fichiers dont le propriétaire / groupe est debian doivent être supprimés (et probablement recréés après le changement). En effet, après le mappage uid et gid, leur propriété deviendra invalide. Au départ, je pensais que je ne fais que mapper 1000 à 1000, tout devrait bien se passer, mais je pense que j'ai raté quelque chose ici et ce serait génial si quelqu'un pouvait me conseiller sur la façon de résoudre ce problème sans le piratage.
la source
chown
de l'hôte.Vous pouvez également le faire sans LXD en modifiant directement le fichier de configuration LXC:
Vous devez également vous assurer que le compte de l'utilisateur du conteneur est autorisé à mapper vers uid / gid 1000 sur l'hôte en modifiant / etc / subuid et / etc / subgid:
la source