Å montere mapper (eller filsystemer) betyr å koble et filsystem (mappe eller katalog) til en bestemt plassering på et annet filsystem. Dette gjør at du kan gjøre innholdet i en mappe tilgjengelig i en annen mappe eller til og med på et annet sted på systemet.
Hva betyr montering?
Mappemontering er en viktig funksjon i operativsystemer og brukes ofte i forbindelse med containerisering, for eksempel Docker eller virtualisering, for å gi tilgang til filer og data mellom vertsmaskinen og containere eller virtuelle maskiner.
Den grunnleggende ideen bak mappemontering er å dele et fysisk lagringsområde (for eksempel en disk eller et filsystem) inn i ulike logiske områder for å organisere og få tilgang til filer. På denne måten kan du kontrollere og endre innholdet i et filsystem uten at det påvirker andre filsystemer eller kataloger.
Mappemontering brukes ofte til å utveksle data mellom vertsmaskinen og containere, oppdatere kode under programutvikling, lagre databaser eller tilpasse konfigurasjonsfiler.
Hvorfor trenger jeg å montere mapper?
Mappemontering i Docker Compose gjør det mulig å utveksle data mellom vertsmaskinen og containere, noe som gir flere fordeler og muligheter:
- Datapersistens: Ved hjelp av mappemontering kan du persistere data som er opprettet eller endret i containere, til vertsmaskinen. Dette er viktig for å bevare persistente data, for eksempel databaser eller filsystemer, som kan gjenopprettes etter at containerne startes på nytt.
- Kodeoppdateringer: Hvis du utvikler en applikasjon og ønsker å se kodeendringer umiddelbart uten å måtte gjenoppbygge avbildningen og starte beholderen på nytt, er montering av mapper en flott måte å gjøre dette på. Du kan montere kildekodemappen på vertsmaskinen inne i containeren, og når kodefilene endres på vertsmaskinen, vises de automatisk inne i containeren uten at du trenger å starte den på nytt.
- Deling av konfigurasjoner: Du kan også bruke mappemontering til å dele konfigurasjonsfiler mellom vertsmaskinen og containerne.
Slik monterer du.
I Docker Compose kan du montere mapper fra vertsmaskinen i containere ved hjelp av alternativet `volumes`. Her er et eksempel på bruk av volumer i docker-compose.yml-filen:
yaml
version: '3'
services:
app:
image: nginx
volumes:
- /path_to_host_folder:/path_to_folder_volume
I eksempelet ovenfor er"/path_to_host_folder" banen til mappen på vertsmaskinen som du vil montere i en container. `/path_to_folder_volume` er banen til mappen inne i beholderen der du vil montere vertsmappen.
Du kan også bruke relative baner i stedet for absolutte baner, ved å angi banen relativt til plasseringen av filen `docker-compose.yml`. I dette tilfellet bruker du `./` for å angi den gjeldende katalogen.
yaml
version: '3'
services:
app:
image: nginx
volumes:
- ./host's_folder:/path_to_folder_volume
Du kan også spesifisere flere monterte mapper ved å legge dem til i listen `volumes`.
yaml
version: '3'
services:
app:
image: nginx
volumes: