GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak používat Docker na Synology NAS

Dnes se podíváme na to, jak používat Docker na zařízení Synology NAS.

Většina vysvětlení bude provedena prostřednictvím výše uvedeného videa , ale je důležité mít zdokumentované určité body. Implementace Dockeru na Synology NAS je velmi výkonná, když jí rozumíte, ale když začínáte, je trochu matoucí. Zatímco vytvářím konkrétní návody, které vás provedou implementací konkrétních kontejnerů, mým cílem je poskytnout vám znalosti potřebné k implementaci jakéhokoli kontejneru, který chcete.

1. Připojení svazku – Jak používat Synology NAS Docker

Při vytváření kontejneru Docker musí být důležitá data namapována do místní složky. Toto je dokončeno v Svazku sekce, kde je místní složka mapována na složku kontejneru. Po spuštění kontejneru se umístění složky kontejneru v připojovací cestě níže zapíše do souboru/složky zadané na vašem zařízení Synology NAS. Všechna data, která jsou upravena v místní složce Synology NAS, se zapíší do složky kontejnerů.

Je důležité zdůraznit, že nemůžete připojit žádné složky, které byste chtěli. Když si stáhnete obrázek z registru, malá ikona (zobrazená níže) vás přenese do dokumentace pro daný kontejner. V této dokumentaci můžete zjistit, jaké složky lze připojit.

Poté, co přejdete do dokumentace, budete muset prohledat stránku, abyste viděli, jaké svazky lze připojit. Bohužel veškerá dokumentace je odlišná, takže informace o svazku budete muset prohledávat. Pomocí Pi-Hole jako příkladu je poskytnut ukázkový soubor Docker Compose. Pod svazky můžete najít dva svazky, které lze připojit.

Pomocí ./etc-pihole/:/etc/pihole/ například etc-pihole je místní složka a /etc/pihole je složka kontejneru. Můžete to snadno převést na zařízení Synology NAS vytvořením podsložek v dockeru složku a připojení tohoto umístění složky do složky kontejneru. Pomocí níže uvedeného snímku obrazovky jsem vytvořil složku s názvempi-hole a název podsložky etc-pihole . Tyto složky jsou uvnitř složky dockeru a jsou připojeny k /etc/pihole kontejneru složka. Po spuštění kontejneru se zobrazí obsah /etc/pihole  kontejneru složka bude zapsána do atd-pihole mého Synology NAS složka. Pokud máte zájem o zálohování kontejneru, složky, které připojíte pro každý kontejner, obsahují všechna vaše osobní data. Toto jsou důležité složky, které je třeba zálohovat. Zbytek je pouze konfigurace, kterou lze vytvořit na samostatné instalaci NAS nebo Docker.

Tato další část je trochu složitější – můžete přepsat konkrétní soubor v kontejneru vytvořením místní verze tohoto souboru a výběrem přesné cesty, kde daný soubor v kontejneru existuje. Příkladem toho je resolv.conf soubor na snímku obrazovky níže. Když kontejner běží, soubor resolv.conf v kontejneru bude nahrazen obsahem souboru resolv.conf na Synology NAS . Chcete-li to zopakovat, chcete-li aktualizovat soubor v kontejneru, vytvořte místní soubor na zařízení Synology NAS a namapujte tento soubor na interní soubor kontejneru.

2. Macvlan &Bridge Network Interface

Existují situace, kdy kontejner dockeru bude používat určité porty (například 80/443) a hostitelské síťové rozhraní již tyto porty používá pro něco jiného. Když k tomu dojde, konflikt portů zastaví správné fungování kontejneru. V situacích, jako je tato, máte dva hlavní způsoby, jak problém vyřešit:

  1. Změňte místní port tak, abyste používali něco jiného. Pokud chce například kontejner Docker použít port 80, změňte Místní port být něco jiného, ​​například 8080, jak je uvedeno níže. Pro přístup ke kontejneru Docker byste pak použili IP adresu svého Synology NAS a místní port (http://[SYNOLOGY_NAS_IP]:8080).

2. Vytvořte síťové rozhraní macvlan a síť mostu. Síťové rozhraní macvlan zabrání všem konfliktům portů, protože zadáváte jedinečnou IP adresu, kterou bude kontejner, který vytváříte, používat. To znamená, že k tomuto kontejneru budete přistupovat pomocí zcela jiné IP adresy než vaše Synology NAS. Ve výchozím nastavení nebude váš hostitel (Synology NAS) schopen komunikovat s vaším kontejnerem. Z tohoto důvodu je vyžadována mostová síť, aby hostitel (Synology NAS) a kontejner mohli komunikovat. Aby bylo jasno, pokud zařízení Synology NAS potřebuje komunikovat s kontejnerem, použijete IP adresu sítě mostu a NE IP adresu macvlan.

2.1 Jak vytvořit Macvlan &Bridge Network Interface

1. SSH do vašeho Synology NAS pomocí vašeho oblíbeného nástroje SSH.

2. Nejprve musíme zjistit, jaká síťová rozhraní aktuálně existují (na vašem zařízení Synology NAS) a poznamenat si název adaptéru. Chcete-li to provést, spusťte níže uvedený příkaz a poznamenejte si název síťového rozhraní, které má IP adresu vašeho Synology NAS (v tomto příkladu je moje eth0).

ifconfig

3. Dále musíte spustit níže uvedený příkaz a nahradit správnou podsíť (většina je ve výchozím nastavení 192.168.1.0/24). Musíte také vybrat IP adresu, kterou chcete používat a která se aktuálně nepoužívá. Budu používat 192.168.1.198. POZNÁMKA :ph_network bude název sítě (můžete jej nahradit, jak chcete).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 ph_network

Naše síť je nyní vytvořena. Poté můžeme ukončit naši relaci SSH a deaktivovat ji v DSM (pokud ji nebudete používat). Pokud jej deaktivujete a vytvoříte pro něj pravidlo brány firewall, měli byste pravidlo brány firewall také deaktivovat.

4. Dále musíme vytvořit mostovou síť. To umožní našemu hostiteli (NAS) komunikovat s naším kontejnerem. Otevřete Docker a přejděte na Síť sekce. Vyberte Přidat a zadejte podsíť, která se aktuálně nepoužívá. IP adresa mostu, který vytvářím, bude 192.168.10.2. POZNÁMKA: ph_bridge bude název sítě – toto můžete nahradit názvem, který chcete.

7. Naše nové sítě jsou nyní vytvořeny. Poté můžeme ukončit naši relaci SSH a deaktivovat ji v DSM (pokud ji nebudete používat). Pokud jej deaktivujete a vytvoříte pro něj pravidlo brány firewall, měli byste pravidlo brány firewall také deaktivovat.

8. Při vytváření kontejneru odstraňte přemosťovací síť a přidejte dvě sítě (ph_network a ph_bridge, ale vaše se může jmenovat jinak) do kontejneru.

Kontejner nyní bude používat správné sítě! Vyhnete se jakémukoli konfliktu portů, ke kterému by mohlo dojít, budete mít pro kontejner jedinečnou IP adresu a budete moci komunikovat mezi hostitelem (Synology NAS) a kontejnerem pomocí sítě mostu!

3. Proměnné prostředí

Ve výchozím nastavení má mnoho kontejnerů Docker proměnné prostředí, které můžete upravit a změnit tak nastavení kontejneru. Mezi kontejnery nejsou standardní proměnné prostředí, a přestože některé sdílejí názvy proměnných, vždy se doporučuje prohlédnout si dokumentaci a určit, které proměnné prostředí chcete použít. Kontejner bude standardně dodáván s určitými proměnnými, ale před vytvořením kontejneru máte možnost je změnit nebo přidat nové.

Toto je příklad podrobností o proměnné prostředí Pi-Hole uvedených v dokumentaci.

V kontejneru Docker na vašem zařízení Synology NAS, Prostředí sekce je místo, kde můžete přidat, odebrat nebo změnit proměnné prostředí.

4. Jak přistupovat ke kontejneru prostřednictvím rozhraní příkazového řádku (CLI)

Existují určité situace, kdy budete potřebovat nebo chtít získat přístup k souborům kontejneru. Ať už potřebujete něco upravit (připojením svazku souborů) nebo zobrazit strukturu, existuje způsob, jak to udělat na Synology NAS, ale musí to být provedeno prostřednictvím SSH.

1. Spusťte svůj kontejner! Pokud se kontejner nespustí, nebudete mít ke kontejneru přístup!

2. Ujistěte se, že můžete SSH do svého Synology NAS. Otevřete Ovládací panely , vyberte Terminál a SNMP a Povolit SSH služby. Pokud používáte bránu Synology Firewall, ujistěte se, že povolujete provoz na portu 22 . Vytvořil jsem video o tom, jak zapojit SSH do vašeho Synology NAS, pokud máte nějaké problémy.

3. Spuštěním příkazu níže zobrazíte seznam běžících kontejnerů. Zkopírujte ID kontejneru.

sudo docker container ls

4. Spusťte níže uvedený příkaz a nahraďte ID kontejneru naleznete výše.

sudo docker exec -it CONTAINER_ID bash

5. Nyní budete připojeni jako uživatel root pro kontejner!

5. Docker Compose – Synology NAS

Někoho to možná překvapí, ale Docker Compose můžete používat, jakmile je Docker nainstalován na zařízení Synology NAS. Pro každého, kdo neví, Docker Compose umožňuje vytvářet kontejnery z konfiguračního souboru YAML pomocí jediného příkazu. Vše se provádí přes rozhraní příkazového řádku (CLI) a někteří uživatelé to považují za jednodušší. Pokud to budete používat, možná budete chtít aktualizovat Docker Compose, protože jde o mírně zastaralou verzi.

Několik výhod Docker Compose na zařízení Synology NAS:

  • Vše je spravováno prostřednictvím rozhraní příkazového řádku (CLI). Pokud vám CLI vyhovuje, bude to pravděpodobně mnohem snazší než ruční konfigurace kontejnerů v GUI společnosti Synology.
  • Docker Compose je systémově agnostický, což znamená, že konfigurační soubor a datové složky lze přenést do jakéhokoli jiného systému se systémem Docker Compose a bude fungovat podle očekávání. To je výrazný rozdíl oproti grafickému uživatelskému rozhraní Synology Docker, protože můžete zálohovat důležitá data kontejneru, ale nemůžete je snadno přenést do jiného operačního systému.

Několik nevýhod Docker Compose na zařízení Synology NAS:

  • Vše se děje prostřednictvím rozhraní příkazového řádku (CLI). Pokud vám CLI nevyhovuje, je pro vás pravděpodobně jednodušší spravovat vše v GUI.
  • Vzhledem k tomu, že soubor Docker Compose obsahuje veškerou konfiguraci, musíte se ujistit, že je tento soubor dokonale nastaven, jinak budete kontejnery pravidelně odstraňovat/znovu vytvářet, abyste otestovali a zajistili, že vše funguje podle očekávání.

5.1 Jak vytvořit kontejner pomocí Docker Compose

1. Přesuňte soubor docker-compose.yaml soubor, který jste vytvořili, do složky kontejneru, který budete vytvářet.

2. Ujistěte se, že můžete SSH do svého Synology NAS. Otevřete Ovládací panely , vyberte Terminál a SNMP a Povolit SSH služby. Pokud používáte bránu Synology Firewall, ujistěte se, že povolujete provoz na portu 22 . Vytvořil jsem video o tom, jak zapojit SSH do vašeho Synology NAS, pokud máte nějaké problémy.

3. Přejděte do ukotvitelného panelu  umístění složky na zařízení Synology NAS a podsložku pro kontejner, který budete vytvářet. Pro většinu lidí bude složka uložena na svazku 1, ale pokud používáte více svazků, může to být něco jiného.

cd /volume1/docker/[conatiner_folder]

4. Po potvrzení, že docker-compose.yaml soubor je umístěn v aktuální složce, spusťte níže uvedený příkaz a vytvořte kontejner. Kontejner se nyní spustí!

sudo docker-compose up --detach

6. Závěr – Jak používat Docker na Synology NAS

Existuje spousta různých kontejnerů Docker, které můžete vytvořit na zařízení Synology NAS. Doufám, že poskytnuté video vysvětlilo vše snadno srozumitelným způsobem, ale je důležité zdůraznit, jak funguje grafické uživatelské rozhraní Docker, abyste si mohli nainstalovat jakýkoli kontejner, který chcete. Proces bude stejný pro všechny kontejnery a doufejme, že vám ukáže, jak používat Docker na Synology NAS!

Jako vždy, pokud máte nějaké dotazy, zanechte je prosím v komentářích!


Docker

Vytvořte od začátku jednoduchý kontejner Node.js Hello World Docker

  1. Jak nainstalovat Docker na Rocky Linux a AlmaLinux

  2. Jak ladit chyby Kubernetes „ImagePullBackOff“.

  3. Jak SSH do kontejneru Docker a spouštění příkazů

Jak instalovat, spouštět a odstraňovat aplikace uvnitř kontejnerů Docker – část 2

  1. Jak skenovat obrázky kontejnerů Docker kvůli zranitelnosti pomocí Trivy

  2. Rychlý průvodce používáním Docker Compose

  3. Jak použít Dockerfile k vytvoření Docker Image

Jak automatizovat audity zabezpečení Docker pomocí Docker Bench for Security

  1. Co je Podman a jak se liší od Dockeru?

  2. Jak nasadit kontejner nginx s Dockerem na Linode

  3. Jak sdílet obrázky Docker s ostatními