Docker

Docker Volumes, Montering og mer

Docker Volumes, Montering og mer
Når du oppretter en container i Docker, er det et spesifisert sted der dataene for containeren skal lagres. Hvis du ikke oppgir noe sted for at dataene skal lagres, blir de lagret i containeren. Når du sletter beholderen, vil også dataene gå tapt. Når du jobber med bedriftens prosjekter, kan du imidlertid fjerne en container, men vedvare dataene for å forhindre tap av data. Du kan bruke disse dataene til å opprette flere containere og dele dataene mellom disse containerne. Dette er hvor Docker-volum spiller inn.

Funksjoner av Docker Volumes

I denne opplæringen vil vi forklare hva et Docker-volum er og hvordan du bruker det, samt hvordan du monterer et volum i Docker.

Krav

Grunnleggende syntaks for Docker-volum

Du kan bruke kommandoen "docker volume" for å se alle tilgjengelige alternativer med volum:

docker volum

Du bør se følgende utgang etter at du har angitt kommandoen ovenfor:

Bruk: docker volum KOMMANDO
Administrer volumer
Kommandoer:
lage Opprett et volum
inspect Vis detaljert informasjon om ett eller flere volumer
ls Listevolum
beskjær Fjern alle ubrukte lokale volumer
rm Fjern ett eller flere volumer
Kjør 'docker volume COMMAND --help' for mer informasjon om en kommando.

Lag et volum

For å opprette et datavolum, må du først opprette et datavolum på Docker-verten og feste volumet til beholderen.

Du kan opprette et Docker-volum ved hjelp av kommandoen "docker volume create.”Bruk for eksempel følgende kommando for å opprette et nytt Docker-volum som heter myvolume:

docker volum lage myvolume

Du bør se følgende utdata:

myvolume

Du kan liste opp ditt eksisterende volum ved hjelp av følgende kommando:

docker volum ls

Du bør se følgende utdata:

FØRERVOLUMNAVN
lokal c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokalt myvolume

Hvis du vil se mer informasjon om volum, kjører du følgende kommando:

docker inspisere volumet mitt

Du bør få følgende utdata etter å ha kjørt kommandoen ovenfor:

[

"CreatedAt": "2020-09-12T04: 51: 31Z",
"Driver": "lokal",
"Etiketter": ,
"Mountpoint": "/ var / lib / docker / volumes / myvolume / _data",
"Name": "myvolume",
"Alternativer": ,
"Scope": "local"

]

Monter et volum

På dette tidspunktet har du ett bind som heter myvolume. I dette eksemplet oppretter du en container og monterer et myvolume til containeren.

Du kan bruke alternativet -mount for å montere volumet. Den grunnleggende syntaksen for å montere volumet til beholderen er vist nedenfor:

docker run --mount source = volume-name, destination = path-inside-container docker-images

For eksempel, for å opprette en Ubuntu-container og montere myvolume til containeren, kjør følgende kommando:

docker run -it --name = volumecontainer --mount source = myvolume, destination = / data ubuntu

Denne kommandoen vil trekke Ubuntu-bildet fra Docker Hub, starte beholderen i interaktiv modus med navnet volumbeholder, og montere myvolume-beholderen til / dataene i / data-katalogen:

Kunne ikke finne bildet 'ubuntu: siste' lokalt
siste: Henter fra bibliotek / ubuntu
54ee1f796a1e: Trekk komplett
f7bfea53ad12: Trekk komplett
46d371e02073: Trekk komplett
b66c17bbf772: Trekk komplett
Digest: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Lastet ned nyere bilde for ubuntu: siste
root @ 06a477c4e444: / #

Du kan sjekke det monterte volumet med følgende kommando:

[e-postbeskyttet]: / # ls

Du bør se datakatalogen i følgende utgang:

bin boot data dev etc home lib lib32 lib64 libx32 media mnt
opt proc root run sbin srv sys tmp usr var

Nå vil vi lage en eksempelfil med navnet fil.txt inne / datakatalog med følgende kommando:

ekko "Dette er en testfil!"> / data / fil.tekst

Gå ut av beholderen med følgende kommando:

exit

Start den samme beholderen igjen med følgende kommando:

docker container start volumcontainer

Deretter fester du den løpende beholderen med følgende kommando:

docker exec -it volumcontainer / bin / bash

Sjekk om filen din.txt er vedvarende med følgende:

kattedata / fil.tekst

Du bør få følgende utdata etter at du har angitt kommandoen ovenfor:

Dette er en testfil!

Del data mellom containere

Du kan også dele data mellom flere containere ved hjelp av Docker-volum.

Som du vet, har vi opprettet et volum som heter myvolume, en ny container som heter volumcontainer ved hjelp av dette volumet. Vi har også opprettet en fil som heter fil.txt inne i volumet.

Nå vil vi opprette en annen container kalt volumecontainer1 med samme volumvolum ved hjelp av følgende kommando:

docker run -it --name = volumecontainer1 --mount source = myvolume, destination = / data ubuntu

Kjør ls-kommandoen, som vist nedenfor:

ls

Du bør se datakatalogen i følgende utgang:

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

Kjør følgende kommando, sjekk filen.tekst:

katt / data / fil.tekst

Du bør se det samme innholdet som du opprettet i forrige container:

Dette er en testfil!

Monter katalogen som et volum

Du kan bruke katalogen i Docker-vertssystemet som et volum og montere det på beholderen. Du kan også bruke alternativet -v for å oppnå det samme, som vist nedenfor:

docker kjør -v "katalognavn": volumnavn docker_image

Opprett en katalog med navnet / data inne i Docker-verten med følgende kommando:

mkdir / Data

Deretter oppretter du noen filer i / Data-katalogen:

cd / Data
berøringsfil 1.txt-fil 2.txt-fil 3.tekst

Opprett en ny container ved hjelp av / Data-katalogen som et volum med følgende kommando:

docker run -it --name = data1 -v / Data: / Data ubuntu

Denne kommandoen vil opprette en ny container og montere volumet med navnet / Data.

Kjør følgende kommando for å sjekke innholdet i / Data-katalogen:

ls -l / Data /

Du bør se alle filene vi tidligere har opprettet i vertssystemet, som vist nedenfor:

totalt 0
-rw-r - r-- 1 rotrot 0 12. september 05:41 fil1.tekst
-rw-r - r-- 1 rotrot 0 12. september 05:41 fil2.tekst
-rw-r - r-- 1 rotrot 0 12. september 05:41 fil3.tekst

Fjern Docker Volume

Du kan enkelt slette eller fjerne volumet ved hjelp av følgende syntaks:

docker volum rm volum-navn

Hvis du for eksempel vil fjerne volumet som heter myvolume, kjører du følgende kommando:

docker volum rm myvolume

Du bør få følgende feil:

Feilrespons fra demon: fjern myvolume:
volumet er i bruk - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]

Dette er fordi volumet ditt brukes av containeren. Så du må stoppe og fjerne beholderen før du fjerner volumet.

For å stoppe og fjerne beholderen, kjør følgende kommando:

docker container stopp volumcontainer volumcontainer1
docker container rm volumcontainer volumcontainer1

Nå kan du enkelt fjerne volumet.

Konklusjon

I ovennevnte veiledning lærte du hva Docker-volum er, hvordan du lager det og hvordan du monterer det inne i containeren. Du lærte også hvordan du kan dele data mellom flere containere ved hjelp av volumet.

Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...