Funktioner i Docker Volumes
- Dela volymdata och lagring mellan flera behållare och värdfilsystem.
- Koppla bort behållare från lagring.
- Tar inte bort innehållande data när du tar bort behållaren.
- Säkerhetskopiera, återställ och migrera data enkelt.
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
- Ett system som kör Linux med Docker installerat.
- Ett root-lösenord har konfigurerats.
Grundläggande syntax för Docker Volym
Du kan använda kommandot "dockervolym" för att se alla tillgängliga alternativ med volym:
dockningsvolymDu bör se följande utdata när du har angett ovanstående kommando:
Användning: dockningsvolym COMMANDHantera 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 myvolumeDu bör se följande utdata:
min volymDu kan lista din befintliga volym med följande kommando:
docker volym lsDu bör se följande utdata:
FÖRARVOLYMNAMNlokal c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
lokal myvolym
Om du vill se mer information om volym, kör följande kommando:
docker inspektera min volymDu 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-imagesTill 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 ubuntuDetta 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' lokaltsenaste: 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]: / # lsDu bör se datakatalogen i följande utdata:
bin boot data dev etc hem lib lib32 lib64 libx32 media mntopt 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.TextGå ut från behållaren med följande kommando:
utgångStarta samma behållare igen med följande kommando:
docker container start volymcontainerDärefter bifogar du den körande behållaren med följande kommando:
docker exec -it volymcontainer / bin / bashKontrollera om din fil.txt är ihållande med följande:
kattdata / fil.TextDu 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 ubuntuKör kommandot ls, som visas nedan:
lsDu bör se datakatalogen i följande utdata:
bin boot data dev etc hem lib lib32 lib64 libx32media mnt opt proc root run sbin srv sys tmp usr var
Kör följande kommando och kontrollera filen.Text:
katt / data / fil.TextDu 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_imageSkapa en katalog med namnet / data i Docker-värden med följande kommando:
mkdir / DataSkapa sedan några filer i / Data-katalogen:
cd / datapekfil 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 ubuntuDetta 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 volymnamnOm du till exempel vill ta bort volymen med namnet myvolume, kör du följande kommando:
docker volym rm myvolumeDu 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 volumcontainer1docker 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.