Bonjour les agrumes.
Je joue avec docker en ce moment et je possède un petit problème. En effet, disons que je possède une clé USB chiffrée (luks) /dev/sda1
et un container docker tournant. Je cherche à accéder au contenu de la clé depuis le docker, via un dossier partagé (/tmp
).
Ainsi, depuis la machine hôte, je monte la clé cryptsetup luksOpen /dev/sda1 encrypted_sda1 --key-file=key-file
(un fichier /dev/mapper/encrypted_sda1
est créé). Puis mount /dev/mapper/encrypted_sda1 /tmp/sda1
, ce dernier contenant maintenant le contenu de ma clé.
Cependant deux cas de figures sont maintenant visibles.
Soit mon container était entrain de tourner (ce que je veux), je vois le dossier /tmp/sda1
mais… pas accès au contenu. Soit je lance mon container, (ce que je ne veux pas), mais je peux maintenant voir le contenu de ma clé…
Dernière solution c’est donner à mon container la possibilité de monter /dev/mapper/encrypted_sda1
mais pour ceci il me faut le mode privilégié (et non, je ne veux pas).
Bref je ne comprends pas pourquoi mon dossier est vide quand je monte la clé dans un volume partagé, alors que j’y ai accès si je relance le container. Et j’ai pas vraiment de solutions comme ça.
Bonne journée !
EDIT: solution: docker run --mount type=bind,source=/tmp,target=/tmp,bind-propagation=rslave