Docker en de basis van DevOps · Les

Bind mounts en tmpfs-mounts

Leer meer over bind mounts voor toegang tot hostbestanden en tmpfs-mounts voor tijdelijke gegevensopslag.

Les 3 van 411 stappen

Bind mounts en tmpfs-mounts is een gratis Docker en de basis van DevOps-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Docker en de basis van DevOps. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Gegevensopslag naast volumes

In eerdere lessen hebben we geleerd hoe Docker-volumes werken voor het opslaan van gegevens die behouden moeten blijven. Maar wat als je bestanden rechtstreeks vanaf je hostcomputer wilt delen of tijdelijke gegevens wilt opslaan die niet behouden hoeven te blijven?

In deze les maak je kennis met twee andere manieren om gegevens te beheren: bind mounts en tmpfs mounts. Ze bieden flexibiliteit voor verschillende toepassingsmogelijkheden.

Bind mounts en tmpfs-mounts — illustratie 1

Wat zijn bind mounts?

Met een bind mount kun je een bestand of map van de hostmachine in een container koppelen. Hierdoor ontstaat een directe verbinding: wijzigingen aan de ene kant zijn onmiddellijk zichtbaar aan de andere kant.

  • Hostpad: de locatie op je computer.
  • Containerpad: de locatie in de container.
  • Ideaal voor ontwikkeling, het delen van configuratie of toegang tot bestanden op de host.

Bind mounts in actie

Laten we een bind mount in actie bekijken. Met dit commando koppel je de huidige map (weergegeven als $(pwd) op Linux/macOS of %cd% in Windows CMD) aan de map /app in de container.

Let op: maak voordat je het commando uitvoert een bestand met de naam hello.txt in je huidige map, met tekst zoals "Hallo vanaf de host!".

docker run --rm -it \
  -v "$(pwd):/app" \
  alpine:latest sh -c "ls /app && cat /app/hello.txt"

Alleen-lezen-bind mounts

Soms wil je gegevens vanaf de host delen, maar voorkomen dat de container wijzigingen aanbrengt. Daarvoor zijn alleen-lezen bind mounts handig.

Je kunt :ro aan het einde van het koppelpad opgeven of de vlag --mount met readonly gebruiken.

docker run --rm -it \
  -v "$(pwd):/app:ro" \
  alpine:latest sh -c "touch /app/new_file.txt || echo 'Permission denied!'"

Uitvoer in alleen-lezenmodus begrijpen

Toen je het vorige commando uitvoerde, heb je waarschijnlijk het bericht "Toegang geweigerd!" gezien. Dit bevestigt dat de container geen nieuw bestand kon maken in de map /app, omdat deze als alleen-lezen was gekoppeld.

Dit is een goede beveiligingsfunctie die je hostbestanden beschermt tegen onbedoelde of kwaadwillige wijzigingen door een container.

Wat zijn tmpfs mounts?

Een tmpfs mount is een tijdelijk bestandssysteem dat volledig in het geheugen (RAM) van de host wordt opgeslagen. Dit betekent dat gegevens die naar een tmpfs mount worden geschreven niet behouden blijven.

  • Gegevens gaan verloren wanneer de container stopt.
  • Snellere invoer en uitvoer dan opslag op schijf.
  • Geschikt voor gevoelige gegevens of tijdelijke bestanden.

tmpfs mounts in actie

Laten we een container met een tmpfs-mount maken. We schrijven er een bestand naartoe en verlaten daarna de container. Wanneer je een nieuwe container start, is het bestand verdwenen.

De vlag --tmpfs geeft het koppelpunt in de container op.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest sh -c "echo 'Ephemeral data' > /app/temp_data/my_temp_file.txt && ls /app/temp_data"

Het tijdelijke karakter van tmpfs controleren

Na het uitvoeren van het laatste commando zag je my_temp_file.txt in de lijst staan. Voer nu dit commando uit om een *nieuwe* container te starten met dezelfde configuratie voor de tmpfs-mount.

Je zult zien dat my_temp_file.txt er niet meer is. Hiermee bevestig je dat tmpfs-gegevens inderdaad tijdelijk zijn en specifiek zijn voor de levensduur van de container.

docker run --rm -it \
  --tmpfs /app/temp_data \
  alpine:latest ls /app/temp_data

Bind mounts versus tmpfs mounts

Wanneer gebruik je welke?

  • Bind mounts: voor het delen van hostbestanden (bijvoorbeeld configuratie en broncode) met containers, met behoud van gegevens en directe toegang vanaf de host.
  • tmpfs mounts: voor tijdelijke, niet-blijvende gegevens waarvoor hoge prestaties nodig zijn of die niet na het opnieuw starten van een container mogen blijven bestaan (bijvoorbeeld caches en gevoelige runtimegegevens).

Beide vormen een aanvulling op Docker-volumes en bieden samen een volledig scala aan opties voor gegevensbeheer.

Korte controle: typen mounts

Welke van de volgende uitspraken over bind mounts en tmpfs mounts zijn juist?

Samenvatting: hulpmiddelen voor gegevensbeheer

Uitstekend gedaan! Je hebt je gereedschapskist voor gegevensbeheer in Docker uitgebreid.

  • Bind mounts koppelen hostbestanden en -mappen aan containers en zijn ideaal voor ontwikkeling en het delen van configuratie.
  • tmpfs mounts bieden tijdelijke opslag in het geheugen en zijn perfect voor niet-blijvende of gevoelige gegevens.

Als je deze opties begrijpt, kun je de juiste opslagoplossing voor je toepassingen in containers kiezen.

Gratis beginnen

Leer Docker en de basis van DevOps met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Bind mounts en tmpfs-mounts” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Docker en de basis van DevOps, waaronder “Bind mounts en tmpfs-mounts”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Wat leer ik in “Bind mounts en tmpfs-mounts”?

Leer meer over bind mounts voor toegang tot hostbestanden en tmpfs-mounts voor tijdelijke gegevensopslag. Je oefent met Docker en de basis van DevOps door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Docker en de basis van DevOps te beginnen?

Ervaring vooraf is niet nodig. Docker en de basis van DevOps op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Bind mounts en tmpfs-mounts”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Docker en de basis van DevOps?

Ja. Elke les over Docker en de basis van DevOps bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Basisprincipes van containernetwerken
  2. Docker-volumes voor persistentie
  3. Bind mounts en tmpfs-mounts
  4. Aangepaste bridgenetwerken en servicediscovery
← Terug naar Docker en de basis van DevOps