Docker

Docker Volumes, Montering og mere

Docker Volumes, Montering og mere
Når der oprettes en container i Docker, er der et bestemt sted, hvor dataene til containeren gemmes. Hvis du ikke angiver noget sted, hvor disse data skal gemmes, gemmes de i containeren. Når du sletter containeren, går dataene også tabt. Men når du arbejder på virksomhedsprojekter, for at forhindre tab af data, kan du fjerne en container, men vedligeholde dataene. Du kan bruge disse data til at oprette flere containere og dele dataene mellem disse containere. Det er her, Docker-volumen kommer i spil.

Funktioner af Docker Volumes

I denne vejledning forklarer vi, hvad et Docker-volumen er, og hvordan man bruger det, samt hvordan man monterer et volumen i Docker.

Krav

Grundlæggende syntaks for Docker-volumen

Du kan bruge kommandoen "docker volume" til at se alle tilgængelige indstillinger med lydstyrke:

docker-volumen

Du skal se følgende output efter indtastning af ovenstående kommando:

Anvendelse: docker volumen KOMMANDO
Administrer 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 myvolume

Du skal se følgende output:

mit volumen

Du kan liste din eksisterende lydstyrke ved hjælp af følgende kommando:

docker volumen ls

Du skal se følgende output:

FØRERVOLUMENAVN
lokal c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokalt myvolume

Hvis du vil se flere oplysninger om lydstyrke, skal du køre følgende kommando:

docker inspicere mit volumen

Du 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-images

For 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 ubuntu

Denne 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' lokalt
seneste: 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]: / # ls

Du skal se datakataloget i følgende output:

bin boot data dev osv. hjem lib lib32 lib64 libx32 media mnt
opt 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.txt

Gå ud af beholderen med følgende kommando:

Afslut

Start den samme container igen med følgende kommando:

docker container start volumecontainer

Vedhæft derefter den kørende container med følgende kommando:

docker exec -it volumecontainer / bin / bash

Kontroller, om din fil.txt er vedvarende med følgende:

kat data / fil.txt

Du 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 ubuntu

Kør kommandoen ls som vist nedenfor:

ls

Du skal se datakataloget i følgende output:

bin boot data dev osv. hjem lib lib32 lib64 libx32
media mnt opt ​​proc root run sbin srv sys tmp usr var

Kør følgende kommando, kontroller filen.txt:

kat / data / fil.txt

Du 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_image

Opret en mappe med navnet / data inde i Docker-værten med følgende kommando:

mkdir / Data

Opret derefter nogle filer i / Data-biblioteket:

cd / data
berø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 ubuntu

Denne 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-name

Hvis du f.eks. Vil fjerne lydstyrken med navnet myvolume, skal du køre følgende kommando:

docker volumen rm myvolume

Du 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 volumecontainer1
docker 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.

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...