Příkazy A-Z

20 užitečných příkladů příkazů Docker Volume pro moderní vývojáře

20 užitečných příkladů příkazů Docker Volume pro moderní vývojáře

Docker od svého vzniku v roce 2013 změnil způsob, jakým balíčkujeme naše programy. Umožňuje vývojářům vytvářet špičkový software s minimálními závislostmi a umožňuje nasazení jednodušší než kdy dříve. Pokud jste ctižádostivý softwarový inženýr, který chce zvládnout platformu dockeru, musíte dobře rozumět různým příkazům docker volume. Svazky jsou mechanismus používaný Dockerem pro poskytování trvalého úložiště dat. Poskytují významné výhody z hlediska vývoje a nasazení softwaru. Dnes jsme si udělali čas, abychom vás naučili základní stavební kameny objemů dat v Dockeru.

Základní příklady příkazů svazku Docker


Tato příručka vás naučí aktuální metodiky používané vývojáři k implementaci trvalého ukládání dat v komerčních a open-source projektech. Po dokončení této příručky budete moci vytvářet vlastní objemy dat a snadno k nim přistupovat ze svých kontejnerů docker. Pokud jste úplný začátečník, doporučujeme vám před prací se svazky zkontrolovat našeho průvodce základními příkazy dockeru.

1. Vytváření svazků Dockeru


Vytváření objemů dat v Dockeru je velmi snadné. K tomu budete muset použít příkaz volume create démona dockeru. Rychle se podívejte na níže uvedený příklad, abyste zjistili, jak to funguje.

$ docker volume create testVolume

Tento příkaz vytvoří název svazku dat testObjem které mohou být použity konkrétním kontejnerem nebo sdíleny mezi clusterem kontejnerů. Nyní můžete tento svazek připojit k umístění uvnitř kontejneru. Po dokončení bude velmi snadné ukládat nebo přistupovat k datům kontejneru z hostitelského počítače.

2. Zobrazení dostupných objemů


Je běžné, že vývojová prostředí mají velký počet objemů dat. Je tedy zásadní určit konkrétní svazky, se kterými pracujete. Naštěstí je velmi snadné vypsat seznam všech aktuálně deklarovaných objemů dat pomocí dílčího příkazu volume ls ukotvitelného démona.

$ docker volume ls

Spuštěním výše uvedeného příkazu získáte seznam všech svazků ukotvitelných panelů přítomných ve vašem hostiteli. Vytiskne názvy svazků dat a příslušné ovladače svazků. Objemy dat jsou uloženy v určité části hostitelského souborového systému, konkrétně / var / lib / docker / svazky / v Linuxu.

3. Kontrola svazků Dockeru


Příkaz pro kontrolu svazku démona dockeru nám poskytuje základní informace o konkrétním svazku. Zobrazuje informace, jako je ovladač svazku, bod připojení, rozsah a štítky. Níže uvedený příkaz to ukazuje na praktickém příkladu.

$ docker volume inspect testVolume

Výsledná data ukazují, že naše testObjem je namontován na místě / var / lib / docker / volume / testVolume / _data našeho hostitelského stroje. Zobrazuje také datum vytvoření těchto informací a všechny zadané možnosti. Vývojářům výrazně usnadňuje řešení problémů s objemy dat.

4. Odstranění konkrétních svazků


Pokud jste nashromáždili nevyužité objemy dat, je dobré je odstranit. Tímto způsobem můžete uvolnit úložný prostor v hostitelském prostředí. Následující příklad ukazuje, jak můžete odstranit jeden svazek pomocí atributu jeho názvu.

$ docker volume rm testObjem

Konkrétní datový svazek můžete tedy odstranit pomocí dílčího příkazu volume rm následovaného názvem svazku. Vrátí název odstraněného svazku v emulátoru terminálu Linux jako potvrzení.

5. Mazání více svazků


Odstranění více svazků dat je také docela jednoduché. Jednoduše předejte název svazků, které chcete odstranit, jeden po druhém. Níže uvedený příkaz to ukazuje v akci.

$ docker volume rm testVolume newVolume otherVolume

Tento příkaz odebere tři zadané objemy dat. Všimněte si, že jsme nevytvořili novýObjem a jiný objem. Byly zde použity pouze pro demonstrační účely. Před odstraněním se tedy ujistěte, že objem dat existuje.

6. Smazání všech svazků


Jakmile se vaše kontejnery z vývojového stroje přesunou do produkčního prostředí, je vždy dobrý nápad se svých objemů dat zbavit. Naštěstí démon dockeru umožňuje vývojářům odebrat všechny dostupné svazky dockeru pomocí jediného příkazu, jak je znázorněno níže.

$ docker volume prun

Navíc je tento příkaz docker volume elegantní, což znamená, že neodstraní žádné svazky, které používá existující kontejner. Používání je tedy velmi bezpečné a pomáhá uvolnit tolik potřebný prostor ve vývojových prostředích.

7. Vytváření kontejnerů s objemy dat


Zatím jsme ukázali pouze některé základní operace se svazky. Ve většině reálných scénářů však budete muset připojit datové svazky ke kontejneru dockeru. Následující příkaz dockeru ukazuje, jak vytvořit kontejner dockeru a připojit datový svazek k tomuto kontejneru.

$ docker run -d -it --name test-container -v "testVolume": / tmp ubuntu: xenial
$ docker run -d -it --name test-container - objem "testVolume": / tmp ubuntu: xenial

Tento příkaz vytvoří kontejner s názvem test-container pomocí obrazu ubuntu: xenial a připojí náš datový svazek k / tmp umístění tohoto kontejneru. Další informace naleznete spuštěním níže uvedeného příkazu a kontrolou výstupu v části „Mount“.

$ docker zkontrolovat testovací kontejner

8. Připojování objemů dat ke kontejnerům


The -připojit Možnost v Dockeru lze použít k adresování existujícího svazku dat na konkrétní část souborového systému kontejneru. Ačkoli bude výsledek zcela podobný výše uvedenému příkazu, je pro mnoho vývojářů systému Linux intuitivnější.

$ docker run -d -it --name test-container --mount source = testVolume, target = / tmp ubuntu: xenial

The -připojit volba sada n-tic oddělených čárkami. Tyto jsou = páry, které označují atributy objemu dat.

9. Vytváření vazebných připojení v Dockeru


Úchyty vazeb jsou mechanismem vytrvalosti, který je k dispozici od raných dob Dockeru. Poskytují poněkud omezenou funkčnost ve srovnání s dockerovými svazky, ale jsou vhodnější v některých konkrétních případech. Na rozdíl od svazků závisí připojení vazby na základním hostitelském souborovém systému.

$ docker run -d -it --name test-container --mount type = bind, source = $ (pwd), target = / tmp ubuntu: xenial

Výše uvedený příkaz vytvoří vazbu vazby, která mapuje aktuální pracovní adresář vašeho souborového systému Linux na / tmp umístění kontejneru. The type = svázat n-tice označuje, že se jedná o svazek připojení, nikoli svazek.

10. Předvyplnění objemů dat


Někdy mohou vývojáři při vytváření dockerových kontejnerů vyžadovat předběžné naplnění svých objemů dat. Tato technika však platí pouze v případě, že cílový cíl kontejneru obsahuje data před vytvořením svazku.

$ docker run -d --name = nginxContainer -v nginxVol: / usr / share / nginx / html nginx: nejnovější

Tento příkaz nejprve vytvoří svazek nginxVol a naplní jej obsahem / usr / share / nginx / html umístění souborového systému kontejnerů. Nyní budou tato data přístupná všem ostatním kontejnerům, které sdílejí svazek nginxVol. Syntaxi připojení můžete použít alternativně, jak je znázorněno níže.

$ docker run -d --name = nginxContainer --mount source = nginxVol, destination = / usr / share / nginx / html nginx: nejnovější

11. Používání objemů jen pro čtení


Ve výchozím nastavení mají všechny kontejnery přístup ke čtení i zápisu ke svým příslušným objemům dat. Ne všechny kontejnery však musí zapisovat data na svazek. Jednoduché čtení dat je často dost dobré. V takových případech můžete svému kontejneru přiřadit přístup jen pro čtení. Podívejte se, jak to funguje, docker volume commands.

$ docker run -d --name = nginxContainer -v nginxVol: / usr / share / nginx / html: ro nginx: nejnovější

Jednoduchým přidáním: ro'pole za cílem zakáže nginxContainer v zápisu dat na nginxVol. Budete muset použítpouze ke čtení'Pokud vytváříte svazky pomocí volby -mount. Pozorně si všimněte rozdílu v syntaxi.

$ docker run -d --name = nginxContainer --mount source = nginxVol, destination = / usr / share / nginx / html, pouze pro čtení nginx: nejnovější

12. Vytváření svazků pomocí ovladačů


Ovladače svazků jsou flexibilní mechanismus, který Docker používá k poskytování přístupu ke vzdáleným připojením, šifrování dat a dalším funkcím. Níže uvedené příkazy ukazují uživatelům, jak vytvořit kontejner dockeru pomocí konkrétního ovladače svazku.

$ docker volume create --driver vieux / sshfs -o sshcmd = test @ node2: / home / session -o heslo = testPassword sshVolume

Tento příkaz vytvoří objem dat dockeru pomocí ovladače vieux / sshfs. Tento ovladač umožňuje vývojářům připojit vzdálené adresáře pomocí technologie SSHFS.

13. Spouštění kontejnerů, které vytvářejí svazky pomocí ovladačů


Následující příkaz můžete použít k vytvoření a spuštění kontejnerů, které používají ovladače svazku k vytvoření datového svazku. Tento příklad navazuje na výše uvedený.

$ docker run -d --name sshfsContainer --volume-driver vieux / sshfs --mount src = sshVolume, target = / tmp, volume-opt = sshcmd = test @ node2: / home / session, volume-opt = heslo = testPassword nginx: nejnovější

Volba prochází hlasitost n-tice. Není to nutné pro každý případ použití. Pokud však zadáváte volume-opt, musíte použít -připojit namísto -proti nebo -objem.

14. Vytváření služeb využívajících svazek NFS


NFS nebo Network File System je distribuovaný systém sdílení souborů, který nám umožňuje používat vzdálené souborové systémy, jako by byly součástí lokálního souborového systému. Následující příkaz ukazuje, jak vytvořit službu, která používá svazek NFS.

$ docker service create -d --name nfs-service --mount 'type = volume, source = nfsVolume, target = / tmp, volume-driver = local, volume-opt = type = nfs, volume-opt = device =: / var / docker-nfs, volume-opt = o = addr = 10.0.0.10 'nginx: nejnovější

Tento příkaz předpokládá, že náš server NGS běží na 10.0.0.10 a vystavuje / var / docker-nfs adresář. Používá také NFSv3. Před použitím s NFSv4 tedy budete muset provést nějaké úpravy.

15. Zálohování kontejnerů


Svazky poskytují vývojářům flexibilní způsob zálohování základních dat kontejneru. Pro ilustraci nejprve vytvoříme nový kontejner s názvem test-container.

$ docker run -v / data --name test-container ubuntu: xenial / bin / bash

Takže testovací kontejner má volaný svazek /data. Nyní vypustíme další kontejner a namontujeme /data objem ze zkušební nádoby. Poté připojíme místní adresář našeho souborového systému jako /záloha a poté uložte obsah /data do /záloha adresář jako záloha.dehet.

$ docker run --rm --volumes-from test-container -v $ (pwd): / backup ubuntu: xenial tar cvf / backup / backup.tar / data

The -objemy - z Možnost označuje, že ve skutečnosti připojujeme objem dat testovacího kontejneru do našeho nového kontejneru.

16. Obnova záloh kontejnerů


Je také velmi snadné obnovit své kontejnery ze záložních souborů. Data můžete obnovit do stejného kontejneru nebo do konkrétního kontejneru. Ukážeme vám, jak obnovit obsah zálohy.soubor tar vytvořený v předchozím příkladu do jiného kontejneru zde.

$ docker run -v / data --name test-container2 ubuntu / bin / bash

Tento příkaz vytvoří další nový kontejner s a /data objem. Nyní extrahujeme obsah zálohy.tar soubor v tomto novém datovém svazku.

$ docker run --rm --volumes-from test-container2 -v $ (pwd): / backup ubuntu bash -c "cd / data && tar xvf / backup / backup.tar - pás 1 "

Zálohy a obnovení můžete automatizovat pomocí těchto jednoduchých, ale flexibilních příkazů docker volume.

17. Odstranění anonymních svazků


Dříve jsme viděli, jak odstranit normální pojmenovaný svazek. Docker má však také jiný typ datového svazku, který se nazývá anonymní svazky. Rychle se podívejte na níže uvedený příkaz, abyste zjistili, jak se operace odstranění liší mezi pojmenovanými a anonymními svazky.

$ docker run --rm -v / anon -v whats-in-a-name: / tmp busybox top

Výše uvedený příkaz vytvoří anonymní svazek s názvem / anon a pojmenovaný svazek s názvem co je ve jméně. Nyní Docker tento kontejner při ukončení automaticky odebere. Bude však smazán pouze / anon svazek, nikoli svazek ve jménu. Musíte to odstranit pomocí příkazu docker volume rm.

18. Specifikace Mount Propagation


Šíření hory označuje tok řízení mezi původní horou a jejími replikami. Ve výchozím nastavení používá připojení vazby i svazky zbavit se nastavení. Tím se zdrží jakékoli šíření mezi původním připojením a jeho replikami. Toto nastavení můžete přepsat pomocí n-tice vazby a šíření vazby připojení.

$ docker run -d -it --name test-container --mount type = bind, source = "$ (pwd)" / test, target = / tmp --mount type = bind, source = "$ (pwd)" / test, target = / temp, readonly, bind-propagation = shared nginx: latest

Tento příkaz připojí /test adresář dvakrát do kontejneru. Každý nový přírůstek do / tmp mount se projeví v / tepl připojit. Při použití svazků však nelze přepsat nastavení šíření. Funguje to pouze při použití vazby mount na hostiteli Linux.

19. Zobrazení příručky ovládání hlasitosti


Základní použití příkazů hlasitosti můžete snadno zobrazit pomocí níže uvedeného příkazu.

$ man docker volume

Neposkytuje však podrobná vysvětlení. Doporučujeme tedy nahlédnout do oficiální dokumentace ukotvitelného panelu o svazcích a připojení vazeb.

20. Zobrazení stránky nápovědy pro dílčí příkazy


Pomocí následujícího příkazu zobrazíte primární možnosti dostupné pro svazek ukotvitelného panelu.

$ docker volume - help

Další informace o konkrétní možnosti můžete zobrazit také pomocí následující syntaxe.

$ docker volume COMMAND --help $ docker volume ls --help

Končící myšlenky


Svazky Docker poskytují tolik potřebné vybavení pro moderní aplikace. Umožňují vývojářům vytvářet robustní a špičkové aplikace a služby tím, že eliminují problémy s úložištěm. Příkazy docker volume navíc také usnadňují vytváření a údržbu záloh vašich dat kontejneru. Rozložili jsme tohoto pečlivě promyšleného průvodce, který vám pomůže snáze zvládnout objem dat. Důrazně doporučujeme nejprve začít se základními příkazy a poté postupně přejít ke složitým scénářům z reálného života. Doufejme, že jsme vám v této příručce poskytli informace, které jste hledali. Pokud máte jakékoli dotazy, nezapomeňte nám zanechat komentář.

Recenze bezdrátové myši Microsoft Sculpt Touch
Nedávno jsem četl o Microsoft Sculpt Touch bezdrátová myš a rozhodl se ji koupit. Po chvíli používání jsem se rozhodl se s ním podělit o své zkušenost...
Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...