Avec docker, on peut monter un répertoire de notre machine hôte dans le système de fichiers d'un Container.
En fait, par défaut, quand on Container est crée par Docker à partir d'une image, une volume, qui existe dans /var/lib/docker/volumes/ dans laquelle se trouve des fichiers provenant de l'Image de source.
Imaginons le cas suivant :
Sur mon ordinateur, j'ai développé une mini application en javascript :
constreadline=require('readline');constrl=readline.createInterface({input:process.stdin,output:process.stdout,terminal:false});rl.on('line',(line)=>{if ((line||'').trim().toLowerCase() ==='non') {process.exit();}else{console.log(`Vous avez dit: "${line}".`);console.log("Est-ce que vous avez autre chose à dire ?");}});rl.once('close',()=>{process.exit();});console.log("Est-ce que vous avez quelque chose à dire ?");
Je peux monter l'emplacement de ce fichier en tant que volume dans le container, avec un paramètre -v:
Ici on monte le dossier /Users/kevin/Desktop/test sur la machine hôte à l'emplacement /app dans le Container. Ensuite, on peut préciser que node se lance en lisant mon fichier javascript, qui explique la fin de la ligne : node /app/app.js.
On peut également rentrer dans notre Container pour le voir :
Ensuite, effectuez un ls /... vous verrez le dossier /app.