🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  1. Docker
  2. Docker

Volumes

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 :

const readline = require('readline');

const rl = 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:

# -v [emplacement sur la machine hôte]:[emplacement dans le Container]
docker run -it -v /Users/kevin/Desktop/test:/app  node:18 node /app/app.js

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 :

docker run -it -v /Users/kevin/Desktop/test:/app node:18 bash 

Ensuite, effectuez un ls /... vous verrez le dossier /app.

PrécédentLancer des containersSuivantDocker compose

Dernière mise à jour il y a 1 an

🐳