Terug naar blog

Gegevens delen tussen een Docker-container en een host

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!

author

Akshay Nagpal

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.