4 votes

Dockerfile : créer et monter l'image disque pendant la construction

J'essaie de créer et de monter une image disque personnalisée pendant le processus de création du fichier Docker :

FROM ubuntu:16.04
RUN dd if=/dev/zero of=foo.img count=500 bs=1M
RUN mkfs.ext4 foo.img
RUN mkdir -p /media/ext4disk
RUN mount -t ext4 foo.img /media/ext4disk

Running docker build j'obtiens le message d'erreur suivant sur la dernière commande : mount failed: Unknown error -1 .

Y a-t-il un moyen de réaliser ce que je veux faire ?

4voto

Robert Points 357

Vous auriez besoin du --privileged o --cap-add une fonctionnalité qui docker run mais qui n'est pas pris en charge par l docker build . Donc, à partir de la version actuelle de Docker, vous ne pouvez pas .

Véase este commentaire :

Un nombre important d'utilisateurs de Docker souhaitent avoir la possibilité d'utiliser --cap-add ou --privileged dans la commande de construction, pour imiter ce qui existe dans la commande d'exécution.

C'est la raison pour laquelle ce ticket est ouvert depuis 3 ans, avec des gens qui interviennent constamment, même si les mainteneurs ne sont pas intéressés à donner aux utilisateurs ce qu'ils veulent dans ce cas précis.

Comme alternative, vous pouvez déplacer cette RUN à un script qui doit être exécuté au démarrage du conteneur (et l'ajout de la commande --privileged ou --cap-add=SYS_ADMIN )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X