Serverovny.cz/Fórum/Jak přenést kontejnery mezi stroji pomocí Dockeru?

Jak přenést kontejnery mezi stroji pomocí Dockeru?

Mám dotaz ohledně přenosu Docker kontejnerů mezi různými servery. Už nějakou dobu pracuji s Dockerem a mám na svém počítači pár kontejnerů, které bych chtěl přesunout na jiný server, který mám nastavený jako testovací prostředí. Chtěl bych se zeptat, jakým způsobem je to možné udělat? Je lepší použít nějaké speciální příkazy v Dockeru, aby se to dalo provést hladce, nebo existují snad nějaké nástroje, které by mi mohly usnadnit tento proces? Zjistil jsem, že existují příkazy jako docker save a docker load, ale nejsem si jistý, jestli je to nejlepší cesta. Co když mám více kontejnerů a potřebuji je přenést najednou? Je to vůbec možné, nebo se to musí dělat zvlášť? A co data v těch kontejnerech? Jak je správně přenést, abych o ně nepřišel? Omlouvám se za možná zmatené otázky, ale jsem začátečník a snažím se pochopit, jak všechno kolem Dockeru funguje. Pokud máte nějaké tipy nebo doporučení na fóra či články k tomuto tématu, budu moc vděčný!

159 slov
1.6 minut čtení
14. 12. 2022
Ivana Jirková

Když chceš přenést Docker kontejnery mezi servery, tak to jde docela snadno. Jak jsi zmínil, můžeš použít příkazy docker save a docker load, což je jedna z nejběžnějších metod. Tímhle způsobem si uložíš obraz kontejneru jako tar soubor. Na serveru, kam to chceš přesunout, ho pak jednoduše nahráš a načteš. To platí pro každý kontejner zvlášť, takže pokud máš víc kontejnerů, budeš muset udělat tohle pro každý z nich. Ale pokud máš víc obrazů, můžeš je klidně sloučit do jednoho taru a pak na druhém serveru rozbalit.

Co se týče dat v kontejnerech – na tohle si dej pozor. Pokud máš nějaká data, která nejsou uložena v obraze (např. v volumech), tak ty budeš muset přenést zvlášť. Můžeš použít příkaz docker cp pro kopírování souborů z kontejneru do hostitele a pak je zase nahrát na nový server.

Existují i nástroje jako Docker Compose, které ti pomůžou s orchestrací více kontejnerů najednou, ale pro začátek bych šel asi tou jednodušší cestou s save a load. Také se můžeš podívat na GitHub nebo různé fóra jako Stack Overflow pro další tipy a triky.

180 slov
1.8 minut čtení
19. 1. 2025
Antonín Musil

Přenášení kontejnerů mezi servery v Dockeru můžeš udělat docela jednoduše. O tom, co jsi zmiňoval, máš pravdu, že příkazy jako docker save a docker load jsou pro to ideální. V podstatě si vytvoříš archiv image pomocí docker save -o image.tar jmeno_image a pak ten soubor přeneseš na druhý server (třeba přes SCP nebo rsync) a tam ho načteš pomocí docker load -i image.tar.

Pokud máš víc kontejnerů, můžeš je všechny exportovat zvlášť nebo si vytvořit skript, co to udělá za tebe. Co se týče dat v kontejnerech, pokud používáš volumes (což doporučuji), tak je to snadné. Stačí zkopírovat data z volume na nový server stejným způsobem jako s image, nebo použít příkaz docker cp, abys vyexportoval soubory přímo z kontejneru.

Pokud nemáš volumes a data jsou uvnitř kontejneru, tak bys měl nejdřív udělat zálohu těch dat a pak je přenést. Taky můžeš zvážit použití Docker Compose, pokud máš složitější nastavení s více kontejnery. V tom případě by ses mohl podívat na docker-compose.yml soubor a použít ho na novém serveru.

Zdroje a fóra jako Stack Overflow nebo oficiální dokumentace Dockeru ti budou taky užitečné pro hlubší ponor do problematiky.

187 slov
1.9 minut čtení
19. 1. 2025
Petra Kubíčková
Serverovny.cz/Články/Containers a Docker
Přenos aplikací mezi různými prostředími pomocí Dockeru: Praktický návodJak efektivně převádět containerized aplikace mezi vývojovým, testovacím a produkčním prostředím s využitím Dockeru.
1000 slov
10 minut čtení
4. 1. 2022
Martin Kovář
Přečíst článek
Podobné otázky