Přístavní dělník

Docker Volumes, Mounting a další

Docker Volumes, Mounting a další
V Dockeru, kdykoli vytvoříte kontejner, je zadané místo, kde budou uložena data pro kontejner. Pokud nezadáte žádné místo pro uložení těchto dat, budou uložena v kontejneru. Když odstraníte kontejner, dojde také ke ztrátě dat. Při práci na podnikových projektech však můžete zabránit ztrátě dat, můžete odebrat kontejner, ale data zachovat. Tato data můžete použít k vytvoření více kontejnerů a sdílení dat mezi těmito kontejnery. Tady vstupuje do hry svazek Dockeru.

Vlastnosti Docker Volumes

V tomto kurzu vysvětlíme, co je svazek Dockeru a jak jej používat, stejně jako způsob připojení svazku v Dockeru.

Požadavky

Základní syntaxe svazku Docker

Chcete-li zobrazit všechny dostupné možnosti svazku, můžete použít příkaz „docker volume“:

docker volume

Po zadání výše uvedeného příkazu byste měli vidět následující výstup:

Použití: docker volume COMMAND
Správa svazků
Příkazy:
vytvořit Vytvořit svazek
inspect Zobrazit podrobné informace o jednom nebo více svazcích
Je seznam svazků
prořezat Odebrat všechny nepoužívané místní svazky
rm Odeberte jeden nebo více svazků
Spuštěním příkazu „docker volume COMMAND --help“ získáte další informace o příkazu.

Vytvořte svazek

Chcete-li vytvořit datový svazek, budete nejprve muset vytvořit datový svazek na hostiteli Docker a připojit svazek ke kontejneru.

Svazek Docker můžete vytvořit pomocí příkazu „docker volume create.„Například pomocí následujícího příkazu vytvořte nový svazek Dockeru s názvem myvolume:

docker volume create myvolume

Měli byste vidět následující výstup:

můj objem

Svůj stávající svazek můžete zobrazit pomocí následujícího příkazu:

docker volume ls

Měli byste vidět následující výstup:

JMÉNO OBJEMU ŘIDIČE
místní c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
místní objem

Pokud chcete zobrazit více informací o svazku, spusťte následující příkaz:

ukotvitelný panel zkontrolovat můj objem

Po spuštění výše uvedeného příkazu byste měli získat následující výstup:

[

"CreatedAt": "2020-09-12T04: 51: 31Z",
"Driver": "local",
"Štítky": ,
"Mountpoint": "/ var / lib / docker / volume / myvolume / _data",
"Name": "myvolume",
„Možnosti“: ,
"Scope": "local"

]

Připojte svazek

V tomto okamžiku máte jeden svazek s názvem myvolume. V tomto příkladu vytvoříte kontejner a připojíte k němu myvolume.

K připojení svazku můžete použít volbu -mount. Níže je uvedena základní syntaxe pro připojení svazku ke kontejneru:

docker run --mount source = název-svazku, cíl = cesta-uvnitř-kontejneru docker-images

Chcete-li například vytvořit kontejner Ubuntu a připojit myvolume ke kontejneru, spusťte následující příkaz:

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

Tento příkaz vytáhne obraz Ubuntu z Docker Hubu, spustí kontejner v interaktivním režimu s názvem volumecontainer a připojí kontejner myvolume do / data v adresáři / data:

Nelze najít obrázek 'ubuntu: latest' místně
nejnovější: Stahování z knihovny / ubuntu
54ee1f796a1e: Pull dokončen
f7bfea53ad12: Pull dokončen
46d371e02073: Pull dokončen
b66c17bbf772: Pull dokončen
Přehled: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Stav: Stažený novější obrázek pro ubuntu: nejnovější
root @ 06a477c4e444: / #

Připojený svazek můžete zkontrolovat pomocí následujícího příkazu:

[chráněno e-mailem]: / # ls

Datový adresář byste měli vidět v následujícím výstupu:

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

Nyní vytvoříme ukázkový soubor s názvem file.txt inside / data directory s následujícím příkazem:

echo "Toto je testovací soubor!"> / data / soubor.txt

Ukončete z kontejneru pomocí následujícího příkazu:

výstup

Spusťte stejný kontejner znovu pomocí následujícího příkazu:

docker container start volumecontainer

Dále připojte spuštěný kontejner pomocí následujícího příkazu:

docker exec -it volumecontainer / bin / bash

Zkontrolujte, zda váš soubor.txt je trvalý s následujícím:

kočičí data / soubor.txt

Po zadání výše uvedeného příkazu byste měli získat následující výstup:

Toto je testovací soubor!

Sdílejte data mezi kontejnery

Pomocí svazku Docker můžete také sdílet data mezi více kontejnery.

Jak víte, vytvořili jsme svazek s názvem myvolume nový kontejner s názvem volumecontainer pomocí tohoto svazku. Také jsme vytvořili soubor s názvem file.txt uvnitř svazku.

Nyní vytvoříme další kontejner s názvem volumecontainer1 se stejným objemem myvolume pomocí následujícího příkazu:

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

Spusťte příkaz ls, jak je znázorněno níže:

je

Datový adresář byste měli vidět v následujícím výstupu:

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

Spusťte následující příkaz pro kontrolu souboru.txt:

kočka / data / soubor.txt

Měli byste vidět stejný obsah, který jste vytvořili v předchozím kontejneru:

Toto je testovací soubor!

Připojit adresář jako svazek

Adresář umístěný uvnitř hostitelského systému Docker můžete použít jako svazek a připojit jej ke kontejneru. K dosažení stejného výsledku můžete také použít volbu -v, jak je znázorněno níže:

docker run -v "název_adresáře": název_objemu docker_image

Vytvořte adresář s názvem / data uvnitř hostitele Dockeru pomocí následujícího příkazu:

mkdir / Data

Dále vytvořte některé soubory v adresáři / Data:

cd / Data
dotykový soubor1.soubor txt2.soubor txt3.txt

Vytvořte nový kontejner pomocí adresáře / Data jako svazku pomocí následujícího příkazu:

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

Tento příkaz vytvoří nový kontejner a připojí svazek s názvem / Data.

Spuštěním následujícího příkazu zkontrolujte obsah adresáře / Data:

ls -l / Data /

Měli byste vidět všechny soubory, které jsme dříve vytvořili v hostitelském systému, jak je uvedeno níže:

celkem 0
-rw-r - r-- 1 root root 0 Sep 12 05:41 file1.txt
-rw-r - r-- 1 root root 0 Sep 12 05:41 file2.txt
-rw-r - r-- 1 root root 0 Sep 12 05:41 file3.txt

Odebrat Docker Volume

Svazek můžete snadno odstranit nebo odebrat pomocí následující syntaxe:

docker volume rm název-svazku

Chcete-li například odebrat svazek s názvem myvolume, spusťte následující příkaz:

docker volume rm myvolume

Měla by se zobrazit následující chyba:

Chybová odpověď od démona: odebrat můj objem:
svazek se používá - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]

Je to proto, že váš objem používá kontejner. Před odstraněním svazku tedy budete muset zastavit a vyjmout nádobu.

Chcete-li kontejner zastavit a odebrat, spusťte následující příkaz:

docker kontejner zastavit volumecontainer volumecontainer1
docker kontejner rm volumecontainer volumecontainer1

Nyní můžete hlasitost snadno odebrat.

Závěr

Ve výše uvedeném průvodci jste zjistili, co je objem Dockeru, jak jej vytvořit a jak jej připojit uvnitř kontejneru. Také jste se naučili, jak sdílet data mezi více kontejnery pomocí svazku.

Top 5 ergonomických produktů pro počítačové myši pro Linux
Způsobuje dlouhodobé používání počítače bolest zápěstí nebo prstů? Trpíte ztuhlými klouby a neustále si musíte třást ruce? Cítíte pálivou bolest pokaž...
Jak změnit nastavení myši a touchpadu pomocí Xinput v Linuxu
Většina linuxových distribucí je ve výchozím nastavení dodávána s knihovnou „libinput“ pro zpracování vstupních událostí v systému. Může zpracovávat v...
Přemapujte tlačítka myši odlišně pro jiný software pomocí ovládání myší X-Mouse
Možná potřebujete nástroj, který by mohl změnit ovládání myši u každé aplikace, kterou používáte. V takovém případě můžete vyzkoušet aplikaci s názvem...