Betaalmethoden Abuse

Mappen aankoppelen in Docker

12.09.2023, 23:41

Mappen (of bestandssystemen) mounten betekent een bestandssysteem (map of map) koppelen of verbinden met een specifieke locatie op een ander bestandssysteem. Hierdoor kun je de inhoud van een map toegankelijk maken in een andere map of zelfs op een andere locatie op het systeem.

Wat betekent mounten?

Het mounten van mappen is een belangrijke functie van besturingssystemen en wordt vaak gebruikt in de context van containerisatie zoals Docker of virtualisatie om toegang te verlenen tot bestanden en gegevens tussen de hostmachine en containers of virtuele machines.

Het basisidee achter het mappen is het verdelen van een gebied met fysieke opslag (zoals een schijf of bestandssysteem) in verschillende logische gebieden om bestanden te organiseren en er toegang toe te krijgen. Hierdoor kun je de inhoud van een bestandssysteem beheren en wijzigen zonder andere bestandssystemen of mappen te beïnvloeden.

Het mounten van mappen wordt vaak gebruikt om gegevens uit te wisselen tussen de hostmachine en containers, code bij te werken tijdens de ontwikkeling van applicaties, databases op te slaan of configuratiebestanden aan te passen.

Waarom moet ik mappen mounten?

Met het mounten van mappen in Docker Compose kun je gegevens uitwisselen tussen de hostmachine en containers, wat verschillende voordelen en mogelijkheden biedt:

  1. Persistentie van gegevens: met het mounten van mappen kun je gegevens die zijn gemaakt of gewijzigd in containers persisteren naar de hostmachine. Dit is belangrijk voor het bewaren van persistente gegevens, zoals databases of bestandssystemen, die kunnen worden hersteld nadat de containers opnieuw zijn opgestart.
  2. Code-updates: als je een applicatie ontwikkelt en direct wijzigingen in de code wilt zien zonder dat je de image opnieuw moet bouwen en de container opnieuw moet starten, is het mounten van mappen een geweldige manier om dit te doen. Je kunt de map met broncode op de hostmachine in de container mounten en wanneer codebestanden op de host veranderen, worden ze automatisch weergegeven in de container zonder dat je deze opnieuw hoeft te starten.
  3. Configuraties splitsen: je kunt mappen ook mounten om configuratiebestanden te splitsen tussen de hostmachine en containers.

Hoe te mounten.

In Docker Compose kun je mappen van de hostmachine in containers mounten met de optie `volumes`. Hier is een voorbeeld van het gebruik van volumes in het docker-compose.yml bestand:

yaml 
version: '3'
services:
  app:
    image: nginx
    volumes:
      - /path_to_host_folder:/path_to_folder_volume

In het bovenstaande voorbeeld is"/path_to_host_folder" het pad naar de map op je hostmachine die je in een container wilt mounten. `/path_to_folder_volume` is het pad naar de map in de container waar je de hostmap wilt mounten.

Je kunt ook relatieve paden gebruiken in plaats van absolute paden, door het pad relatief aan de locatie van het `docker-compose.yml` bestand op te geven. Gebruik in dit geval `./` om de huidige map op te geven.

yaml
version: '3'
services:
  app:
    image: nginx
    volumes:
      - ./host's_folder:/path_to_folder_volume

Je kunt ook meerdere aangekoppelde mappen opgeven door ze toe te voegen aan de `volumes` lijst.

yaml
version: '3'
services:
  app:
    image: nginx
    volumes: