Hur man monterar eller symlinkar en enskild fil i en Docker-behållare

0
128

Dockningsvolym och bindningsmontering används för att binda kataloger på värdoperativsystemet till platser i containerns filsystem. Även om de vanligtvis används för att montera hela kataloger, kan du också använda dem för att symlinka enskilda filer.

Symlänk till Docker från värden

h2>

Att montera hela kataloger fungerar bra om du skriver över en hel lista med konfigurationsfiler, men om du bara vill rikta in dig på en måste du använda en enkelfilsmontering. Detta är också användbart om du vill ha flera monteringar i samma katalog, men från olika platser. Det fungerar ungefär som en vanlig Linux-symlänk, förutom att den hanteras via Docker och korsar bryggan mellan värd- och containerfilsystem.

Vanliga Docker-volymmonteringar kräver att du monterar till en målkatalog, inom vilken volymen kommer att länkas till.

docker-volym skapa nginx-config docker run -d –name devtest –mount source=nginx-config,target=/etc/nginx nginx:senaste

Men med bind-mounts kan källan vara en katalog eller fil på värden. Volymfästen stöder inte detta, och även om du vanligtvis vill använda dem, måste du använda bindningsfästena på lägre nivå om du vill montera enstaka filer.

För att göra detta kan du köra container med flaggan –mount type=bind , som stöder enskilda filer om du anger sökvägen:

docker run -it –mount type=bind, source=/path/file.cfg,target=/etc /example/file.cfg nginx sh Annons

Alternativt, om du verkligen vill använda Docker-volymer, kan du skapa en volym med bara filen du planerar att montera, montera den till en tillfällig katalog i behållaren , och skapa sedan en verklig symbollänk inuti behållaren (i Docker-byggskriptet) som skulle länka till den tillfälliga katalogen med filen. Det är förmodligen en sämre lösning än en bindningsmontering överlag, men det låter dig lagra data via Docker volume API.