← Back to blog

Gegevens delen tussen een Docker-container en een host

Category
Gegevens delen tussen een Docker-container en een host

Introductie

Over het algemeen draaien Docker-containers slechts gedurende een bepaalde periode – de tijd die nodig is om de opdracht uit te voeren. De gegevens die beschikbaar zijn in de container zijn tijdens de runtime alleen toegankelijk vanuit de container.

Docker-volumes kunnen worden gebruikt om de bestanden eenvoudig te openen en ze voor een langere periode op te slaan. Als u bijvoorbeeld een Nginx-webserver hebt en u de logbestanden wilt opslaan voor audits, kunt u een Docker-volume gebruiken om de logbestanden van de container op uw hostmachine op te slaan.

In deze handleiding leert u hoe u gegevens kunt delen tussen de binnenkant van de Docker-container en de hostmachine. 

Vereisten

Voor deze handleiding heeft u de volgende vereisten nodig:

Stap 1 – Een volume koppelen (Bind Mount)

U kunt een map maken met de naam logs in de thuismap van uw huidige gebruiker en deze koppelen aan /var/log/nginx in de Nginx-container met behulp van de volgende opdracht:

Hier is meer gedetailleerde informatie over deze opdracht:

  • --name=nginx geeft een naam aan de container voor eenvoudige referentie.
  • -d argument ontkoppelt het proces en voert het uit op de achtergrond.
  • -v hostPath:containerPath koppelt het hostpad en het containerpad om de koppeling tot stand te brengen.
  • -p hostPort:containerPort argument koppelt de poort van de container aan de hostpoort.
  • nginx aan het einde van de regel is de naam van de image die moet worden gebruikt om de container op te starten.
Note: Gebruik altijd / of ~/ om het hostPath te starten, anders beschouwt het -v-argument het pad als de naam van het volume en wordt de koppeling niet tot stand gebracht.

Stap 2 – Toegang tot gegevens op de host

Nu hebt u een Nginx-container op uw server draaien, en poort 5000 van uw server is gekoppeld aan poort 80 van de Nginx. U kunt de poort openen in de webbrowser met de volgende URL:

nginx homepage

In de map ~/logs ziet u de bestanden access.log en error.log. U kunt de logbestanden bekijken met de opdracht cat:

U kunt ook de logmap ~/logs op uw hostmachine controleren en het logbestand van Nginx vinden. Bovendien, als u wijzigingen aanbrengt in de logs map, worden deze ook weerspiegeld in de /var/log/nginx map van de container.

Conclusie

In deze handleiding hebt u geleerd hoe u gegevens kunt delen tussen de binnenkant van de Docker-container en de hostmachine. Dit is essentieel in ontwikkelomgevingen waar het analyseren van logbestanden een must is voor foutopsporing.

Voor meer bronnen over Docker op onze blog, kunt u het volgende bekijken:

Veel computerplezier!

Akshay Nagpal

Auteur · CloudSigma

Reacties

Nog geen reacties. Wees de eerste.