J'ai une machine Ubuntu 12.04 locale sur laquelle je veux exécuter Docker avec du code d'application. Cependant, le code doit lire les données d'un lecteur USB lorsqu'il est branché. Étant donné que le lecteur peut être échangé, il semble que le montage en volume ne fonctionne pas lorsque le nouveau est branché. Existe-t-il un moyen de configurer Docker afin que la détection USB est transmise à Docker au lieu du seul système d'exploitation hôte ?
Utilisez la commande docker run et discuté ici :
https://docs.docker.com/engine/reference/run/#volume -shared-filesystems
Vous pouvez monter /dev en utilisant l'indicateur -v. Tout périphérique qui apparaît sur /dev apparaîtra dans le conteneur. Si vous faites cela, vous souhaiterez probablement également modifier la valeur de cgroup pour restreindre les autorisations au seul périphérique USB.
Jérôme dans notre entreprise a également écrit ce blog à ce sujet :
https://jpetazzo.github.io/2015/01/13/docker-mount-dynamic-volumes/
Bien qu'il ne s'agisse pas d'un changement de documentation, quelque chose qui pourrait être agréable est que si le conteneur est lancé avec --privileged
, que /dev
soit monté comme devtmpfs
au lieu de tmpfs
normal devtmpfs
, le noyau ajoutera/supprimera automatiquement des entrées à /dev
au fur et à mesure que des périphériques sont ajoutés et supprimés.
@mstanleyjones savez-vous si cela a été mis à jour dans la documentation ?
J'en doute!
Commentaire le plus utile
Bien qu'il ne s'agisse pas d'un changement de documentation, quelque chose qui pourrait être agréable est que si le conteneur est lancé avec
--privileged
, que/dev
soit monté commedevtmpfs
au lieu detmpfs
normaldevtmpfs
, le noyau ajoutera/supprimera automatiquement des entrées à/dev
au fur et à mesure que des périphériques sont ajoutés et supprimés.