Vous devez être connecté et donner une réaction ( Like ) au sujet pour débloquer les liens de téléchargements...
Calypso

 tutoriel Docker - Développer avec un volume partagé

Recommended Posts

Niveau requis Intermédiaire

Temps estimé : Entre 5 et 10 minutes

 

Hey tout le monde !

 

Dans ce tutoriel, je vais vous expliquer comment faire en sorte que votre container Docker utilise un un volume partagé avec votre ordinateur.

Lorsque vous développez quelque chose dans un container, vous êtes obligé de redémarrer le container pour que votre image puisse prendre en charge vos modifications. Ou alors, vous êtes obligé d'utiliser un éditeur interne à votre container pour coder afin de ne pas à avoir à redémarrer le container, mais ce n'est pas très pratique.

 

Je baserai ce tutoriel avec un docker de développement. Par exemple, dans mon cas, je l'utilise principalement pour développer des applications C++ directement sur Linux et en utilisant mon éditeur préféré, Visual Studio Code. Je rentre dans mon container avec un shell bash pour pouvoir compiler mon application, ce qui est plus optimisé qu'une lourde machine virtuelle.

 

De ce fait, je peux développer mes applications depuis mon ordinateur et cela met à jour automatiquement le container.

 

Attention ! Ne confondez pas image Docker et container. Un container fonctionne avec une image. Cela se compare à une machine virtuelle : une machine utilise une image iso pour fonctionner. C'est pareil avec Docker.

Pré-requis:

  • Docker suffira. Vous pouvez l'installer sur la plupart des OS

 

I. Mettre en place un volume partagé

Révélation

1. Commencez par ouvrir la configuration de Docker à partir de la petite icône dans votre barre de tâche

 

043945tuto1.jpg

 

2. Allez ensuite dans Shared Drives et sélectionnez le lecteur que vous souhaitez mettre comme partagé (pour pouvoir l'utiliser ensuite). Dans mon cas, je ne met que mon HDD (D:)

 

044152tuto2.jpg

 

3. Une fois cela fait, il suffit maintenant de lancer notre container avec le volume partagé. Pour lister vos images actives, exécutez la commande docker run image ls dans votre cmd (ou PowerShell:

 

044711tuto3.jpg.png

 

Je souhaite développer dans mon image server. J'exécute la commande docker run, qui prend obligatoirement une image en paramètre :

 

docker run -v "D:\MyApp:/home/metin2" -it server /bin/bash

 

Voici la signification de la commande :

  • docker run => Permet d'exécuter une commande dans un nouveau container.
  • -v "D:\MyApp:/home/metin2" => L'option -v me permet de préciser quel volume externe je souhaite utiliser (pour un volume commun)
  • -it => Ce sont deux options assemblées. L'option -i permet de pouvoir utiliser l'entrée standard (stdin) et l'option -t, elle, d'associer un terminal avec stdin et stdout
  • server => Le nom de l'image que je souhaite utiliser dans mon container
  • /bin/bash => Indique la commande que je souhaite exécuter dans mon container. Ici, je souhaite juste ouvrir un shell pour pouvoir interagir dans mon container avec des commandes. Donc je lance un  shell bash

 

Une fois dans mon container, je peux voir en exécutant la commande ls, que je retrouve bien les fichiers que j'ai sur mon ordinateur

 

040327tuto3.JPG

 

Le volume est donc commun. En modifiant mes fichiers qui sont dans D:\MyApp, ils sont aussi modifiés dans mon container !

 

Information. Notez bien que la documentation Docker indique que la commande docker run permet d'exécuter une commande dans un nouveau container. De ce fait, si vous effectuez deux fois la commande docker run, vous serez dans deux containers différents ! Exécutez la commande docker container ls pour lister vos containers.

 

 

Pour continuer :

  • Une catégorie support est disponible. Si vous avez un problème ou une question, n'hésitez pas à poster une demande !
  • Like 1
  • Ok 1

Share this post


Link to post
Share on other sites