Hamnarbetare

Docker Volumes, Montering och mer

Docker Volumes, Montering och mer
När du skapar en behållare i Docker finns det en specifik plats där data för behållaren kommer att lagras. Om du inte anger någon plats för att data ska lagras kommer den att lagras i behållaren. När du tar bort behållaren förloras också data. Men när du arbetar med företagsprojekt kan du ta bort en container för att förhindra dataförlust men bestå data. Du kan använda denna information för att skapa fler containrar och dela data mellan dessa containrar. Det är här Docker-volymen spelar in.

Funktioner i Docker Volumes

I den här handledningen kommer vi att förklara vad en Docker-volym är och hur man använder den, samt hur man monterar en volym i Docker.

Krav

Grundläggande syntax för Docker Volym

Du kan använda kommandot "dockervolym" för att se alla tillgängliga alternativ med volym:

dockningsvolym

Du bör se följande utdata när du har angett ovanstående kommando:

Användning: dockningsvolym COMMAND
Hantera volymer
Kommandon:
skapa Skapa en volym
inspektera Visa detaljerad information om en eller flera volymer
ls Listvolymer
beskära Ta bort alla oanvända lokala volymer
rm Ta bort en eller flera volymer
Kör 'docker volume COMMAND --help' för mer information om ett kommando.

Skapa en volym

För att skapa en datavolym måste du först skapa en datavolym på Docker-värden och bifoga volymen till behållaren.

Du kan skapa en Docker-volym med kommandot ”docker volume create.”Använd till exempel följande kommando för att skapa en ny Docker-volym med namnet myvolume:

docker volym skapa myvolume

Du bör se följande utdata:

min volym

Du kan lista din befintliga volym med följande kommando:

docker volym ls

Du bör se följande utdata:

FÖRARVOLYMNAMN
lokal c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokal myvolym

Om du vill se mer information om volym, kör följande kommando:

docker inspektera min volym

Du bör få följande utdata efter att ha kört ovanstående kommando:

[

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

]

Montera en volym

Vid den här tiden har du en volym som heter myvolume. I det här exemplet skapar du en container och monterar en myvolym på behållaren.

Du kan använda alternativet -mount för att montera volymen. Den grundläggande syntaxen för att montera volymen i behållaren visas nedan:

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

Till exempel, för att skapa en Ubuntu-behållare och montera myvolume till behållaren, kör följande kommando:

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

Detta kommando kommer att hämta Ubuntu-bilden från Docker Hub, starta behållaren i interaktivt läge med namnet volumecontainer och montera myvolume-behållaren till / data i / data-katalogen:

Det gick inte att hitta bilden 'ubuntu: senaste' lokalt
senaste: Hämtar från biblioteket / ubuntu
54ee1f796a1e: Dra komplett
f7bfea53ad12: Dra komplett
46d371e02073: Dra komplett
b66c17bbf772: Dra komplett
Sammanfattning: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Nedladdad nyare bild för ubuntu: senaste
root @ 06a477c4e444: / #

Du kan kontrollera den monterade volymen med följande kommando:

[e-postskyddad]: / # ls

Du bör se datakatalogen i följande utdata:

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

Nu skapar vi en exempelfil med namnet fil.txt inuti / datakatalog med följande kommando:

echo "Detta är en testfil!"> / data / fil.Text

Gå ut från behållaren med följande kommando:

utgång

Starta samma behållare igen med följande kommando:

docker container start volymcontainer

Därefter bifogar du den körande behållaren med följande kommando:

docker exec -it volymcontainer / bin / bash

Kontrollera om din fil.txt är ihållande med följande:

kattdata / fil.Text

Du bör få följande utdata efter att du har angett ovanstående kommando:

Detta är en testfil!

Dela data mellan behållare

Du kan också dela data mellan flera behållare med hjälp av Docker-volymen.

Som ni vet har vi skapat en volym med namnet myvolume en ny container med namnet volumcontainer med den här volymen. Vi har också skapat en fil med namnet fil.txt inuti volymen.

Nu skapar vi en annan behållare med namnet volumecontainer1 med samma volymvolym med följande kommando:

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

Kör kommandot ls, som visas nedan:

ls

Du bör se datakatalogen i följande utdata:

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

Kör följande kommando och kontrollera filen.Text:

katt / data / fil.Text

Du bör se samma innehåll som du skapade i föregående behållare:

Detta är en testfil!

Montera katalogen som en volym

Du kan använda katalogen i ditt Docker-värdsystem som en volym och montera den i behållaren. Du kan också använda alternativet -v för att uppnå samma, som visas nedan:

docker kör -v "katalognamn": volymnamn docker_image

Skapa en katalog med namnet / data i Docker-värden med följande kommando:

mkdir / Data

Skapa sedan några filer i / Data-katalogen:

cd / data
pekfil 1.txt-fil2.txt-fil 3.Text

Skapa en ny container med / Data-katalogen som en volym med följande kommando:

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

Detta kommando skapar en ny behållare och monterar volymen med namnet / data.

Kör följande kommando för att kontrollera innehållet i / Data-katalogen:

ls -l / Data /

Du bör se alla filer som vi tidigare har skapat i värdsystemet, som visas nedan:

totalt 0
-rw-r - r-- 1 rotrot 0 sep 12 05:41 fil1.Text
-rw-r - r-- 1 rotrot 0 sep 12 05:41 fil2.Text
-rw-r - r-- 1 rotrot 0 sep 12 05:41 fil3.Text

Ta bort Docker Volume

Du kan enkelt ta bort eller ta bort volymen med följande syntax:

docker volym rm volymnamn

Om du till exempel vill ta bort volymen med namnet myvolume, kör du följande kommando:

docker volym rm myvolume

Du får följande fel:

Felsvar från demon: ta bort mitt volym:
volymen används - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]

Detta beror på att din volym används av behållaren. Så du måste stoppa och ta bort behållaren innan du tar bort volymen.

För att stoppa och ta bort behållaren, kör följande kommando:

docker container stopp volymcontainer volumcontainer1
docker container rm volymcontainer volumecontainer1

Nu kan du enkelt ta bort volymen.

Slutsats

I guiden ovan lärde du dig vad Docker-volymen är, hur du skapar den och hur du monterar den i behållaren. Du lärde dig också hur du delar data mellan flera behållare med hjälp av volymen.

HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...
Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...
Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...