Funktioner af Docker Volumes
- Deling af volumendata og lagring mellem flere containere og værtsfilsystemer.
- Afkobling af beholdere fra opbevaring.
- Sletter ikke indeholdte data, når containeren slettes.
- Sikkerhedskopier, gendan og migrer data let.
I denne vejledning forklarer vi, hvad et Docker-volumen er, og hvordan man bruger det, samt hvordan man monterer et volumen i Docker.
Krav
- Et system, der kører Linux med Docker installeret.
- En root-adgangskode er konfigureret.
Grundlæggende syntaks for Docker-volumen
Du kan bruge kommandoen "docker volume" til at se alle tilgængelige indstillinger med lydstyrke:
docker-volumenDu skal se følgende output efter indtastning af ovenstående kommando:
Anvendelse: docker volumen KOMMANDOAdministrer diskenheder
Kommandoer:
Opret Opret en lydstyrke
inspect Vis detaljeret information om et eller flere bind
ls Listevolumener
beskær Fjern alle ubrugte lokale diskenheder
rm Fjern en eller flere diskenheder
Kør 'docker volume COMMAND --help' for at få flere oplysninger om en kommando.
Opret en lydstyrke
For at oprette en datavolumen skal du først oprette en datavolumen på Docker-værten og vedhæfte diskenheden til containeren.
Du kan oprette en Docker-volumen ved hjælp af kommandoen "docker volume create.”Brug for eksempel følgende kommando til at oprette en ny Docker-volumen med navnet myvolume:
docker volumen oprette myvolumeDu skal se følgende output:
mit volumenDu kan liste din eksisterende lydstyrke ved hjælp af følgende kommando:
docker volumen lsDu skal se følgende output:
FØRERVOLUMENAVNlokal c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokalt myvolume
Hvis du vil se flere oplysninger om lydstyrke, skal du køre følgende kommando:
docker inspicere mit volumenDu skal få følgende output efter at have kørt ovenstående kommando:
["CreatedAt": "2020-09-12T04: 51: 31Z",
"Driver": "lokal",
"Etiketter": ,
"Mountpoint": "/ var / lib / docker / volumes / myvolume / _data",
"Name": "myvolume",
"Muligheder": ,
"Omfang": "lokalt"
]
Monter et volumen
På dette tidspunkt har du et bind, der hedder myvolume. I dette eksempel opretter du en container og monterer et myvolume til containeren.
Du kan bruge indstillingen -mount til at montere lydstyrken. Den grundlæggende syntaks til montering af lydstyrken til beholderen er vist nedenfor:
docker run --mount source = volume-name, destination = path-inside-container docker-imagesFor eksempel, for at oprette en Ubuntu-container og montere myvolume til containeren, skal du køre følgende kommando:
docker run -it --name = volumecontainer --mount source = myvolume, destination = / data ubuntuDenne kommando trækker Ubuntu-billedet fra Docker Hub, starter beholderen i interaktiv tilstand med navnet volumecontainer og monterer myvolume-beholderen til / data inde i / data-biblioteket:
Kunne ikke finde billedet 'ubuntu: seneste' lokaltseneste: Henter fra bibliotek / ubuntu
54ee1f796a1e: Træk komplet
f7bfea53ad12: Træk komplet
46d371e02073: Træk komplet
b66c17bbf772: Træk komplet
Fordøjelse: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Downloadet nyere billede til ubuntu: nyeste
rod @ 06a477c4e444: / #
Du kan kontrollere den monterede lydstyrke med følgende kommando:
[e-mail-beskyttet]: / # lsDu skal se datakataloget i følgende output:
bin boot data dev osv. hjem lib lib32 lib64 libx32 media mntopt proc root køre sbin srv sys tmp usr var
Nu opretter vi en prøvefil med navnet fil.txt inde / datakatalog med følgende kommando:
ekko "Dette er en testfil!"> / data / fil.txtGå ud af beholderen med følgende kommando:
AfslutStart den samme container igen med følgende kommando:
docker container start volumecontainerVedhæft derefter den kørende container med følgende kommando:
docker exec -it volumecontainer / bin / bashKontroller, om din fil.txt er vedvarende med følgende:
kat data / fil.txtDu skal få følgende output efter indtastning af ovenstående kommando:
Dette er en testfil!
Del data mellem containere
Du kan også dele data mellem flere containere ved hjælp af Docker-volumen.
Som du ved, har vi oprettet et volumen med navnet myvolume en ny container med navnet volumcontainer ved hjælp af denne volumen. Vi har også oprettet en fil med navnet fil.txt inde i lydstyrken.
Nu opretter vi en anden container ved navn volumecontainer1 med den samme myvolumevolumen ved hjælp af følgende kommando:
docker run -it --name = volumecontainer1 --mount source = myvolume, destination = / data ubuntuKør kommandoen ls som vist nedenfor:
lsDu skal se datakataloget i følgende output:
bin boot data dev osv. hjem lib lib32 lib64 libx32media mnt opt proc root run sbin srv sys tmp usr var
Kør følgende kommando, kontroller filen.txt:
kat / data / fil.txtDu skal se det samme indhold, som du oprettede i den forrige container:
Dette er en testfil!
Mount Directory som en volumen
Du kan bruge biblioteket inde i dit Docker-værtssystem som et volumen og montere det på containeren. Du kan også bruge indstillingen -v til at opnå det samme som vist nedenfor:
docker-kørsel -v "directory_name": volume_name docker_imageOpret en mappe med navnet / data inde i Docker-værten med følgende kommando:
mkdir / DataOpret derefter nogle filer i / Data-biblioteket:
cd / databerøringsfil 1.txt-fil 2.txt-fil 3.txt
Opret en ny container ved hjælp af / Data-biblioteket som en diskenhed med følgende kommando:
docker-kørsel -it --navn = data1 -v / Data: / Data ubuntuDenne kommando opretter en ny container og monterer lydstyrken med navnet / Data.
Kør følgende kommando for at kontrollere indholdet af / Data-biblioteket:
ls -l / Data /Du skal se alle de filer, vi tidligere har oprettet i værtssystemet, som vist nedenfor:
i alt 0-rw-r - r-- 1 rodrod 0 12. september 05:41 fil1.txt
-rw-r - r-- 1 rodrod 0 12. september 05:41 fil2.txt
-rw-r - r-- 1 rodrod 0 12. september 05:41 fil3.txt
Fjern Docker Volume
Du kan nemt slette eller fjerne lydstyrken ved hjælp af følgende syntaks:
docker volume rm volume-nameHvis du f.eks. Vil fjerne lydstyrken med navnet myvolume, skal du køre følgende kommando:
docker volumen rm myvolumeDu skulle få følgende fejl:
Fejlrespons fra dæmonen: fjern mit volumen:volumen er i brug - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]
Dette skyldes, at dit volumen bruges af containeren. Så du bliver nødt til at stoppe og fjerne beholderen, før du fjerner lydstyrken.
For at stoppe og fjerne beholderen skal du køre følgende kommando:
docker container stop volumecontainer volumecontainer1docker container rm volumecontainer volumecontainer1
Nu kan du nemt fjerne lydstyrken.
Konklusion
I ovenstående guide lærte du, hvad Docker-volumen er, hvordan man opretter det, og hvordan man monterer det inde i containeren. Du lærte også, hvordan du deler data mellem flere containere ved hjælp af lydstyrken.