Retour au blog

Comment partager des données entre un conteneur Docker et un hôte

Comment partager des données entre un conteneur Docker et un hôte

Introduction

En général, les conteneurs Docker ne fonctionnent que pendant une certaine période – le temps nécessaire à l'exécution de la commande. Les données disponibles à l'intérieur du conteneur ne sont accessibles que depuis l'intérieur du conteneur pendant sa durée d'exécution.

Les volumes Docker peuvent être utilisés pour accéder facilement aux fichiers et les stocker pendant une période plus longue. Par exemple, si vous disposez d'un serveur web Nginx et que vous souhaitez stocker les journaux pour des audits, vous pouvez utiliser un volume Docker pour stocker les journaux du conteneur sur votre machine hôte.

Dans ce tutoriel, vous apprendrez à partager des données entre l'intérieur du conteneur Docker et la machine hôte. 

Prérequis

Pour ce tutoriel, vous aurez besoin des prérequis suivants :

Étape 1 – Monter un volume par liaison (Bind Mount)

Vous pouvez créer un répertoire nommé logs dans le répertoire personnel de votre utilisateur actuel et le monter par liaison sur /var/log/nginx dans le conteneur Nginx à l'aide de la commande suivante :

Voici des informations plus détaillées sur cette commande :

  • --name=nginx donne un nom au conteneur pour s'y référer facilement.
  • -d l'argument détache le processus et l'exécute en arrière-plan.
  • -v hostPath:containerPath mappe le chemin de l'hôte et le chemin du conteneur pour lier le montage.
  • -p hostPort:containerPort l'argument mappe le port du conteneur sur le port de l'hôte.
  • nginx à la fin de la ligne est le nom de l'image qui doit être utilisée pour démarrer le conteneur.
Remarque : Utilisez toujours / ou ~/ pour commencer le hostPath, sinon l'argument -v considère que le chemin est le nom du volume et ne lie pas le montage.

Étape 2 – Accéder aux données sur l'hôte

Maintenant, vous avez un conteneur Nginx en cours d'exécution sur votre serveur, et le port 5000 de votre serveur est mappé sur le port 80 de Nginx. Vous pouvez ouvrir le port dans le navigateur web avec l'URL suivante :

nginx homepage

Dans le répertoire ~/logs, vous verrez les fichiers access.log et error.log. Vous pouvez voir les journaux en utilisant la commande cat :

Vous pouvez également vérifier le répertoire des journaux ~/logs sur votre machine hôte et y trouver le fichier de journaux de Nginx. De plus, si vous apportez des modifications dans le dossier logs, elles se refléteront également dans le dossier /var/log/nginx du conteneur.

Conclusion

Dans ce tutoriel, vous avez appris à partager des données entre l'intérieur du conteneur Docker et la machine hôte. C'est essentiel dans les environnements de développement où l'analyse des journaux est indispensable pour le débogage.

Pour plus de ressources sur Docker sur notre blog, vous pouvez consulter les éléments suivants :

Bonne informatique !

author

Akshay Nagpal

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.