Řekněme například, že nechcete instalovat Node.js na vašem počítači a stále chcete vyvíjet Node.js aplikace nebo otestovat existující. V takovém případě můžete jednoduše použít uzel.js Docker kontejner.
Dalším příkladem je místo, kde musíte otestovat svůj uzel.js aplikace na různých verzích Node.js. V takovém případě můžete použít jiný uzel.js Docker kontejnery s jinou verzí Node.js nainstalován k otestování vaší aplikace.
V tomto článku vám ukážu, jak nastavit Node.js vývojové prostředí pomocí Dockeru. Pojďme tedy začít.
Nastavení adresáře projektu:
V této části naklonuji jeden ze svých uzlů.js API aplikace z GitHubu do mého ~ / Projekty / adresář jen pro testování Docker Node.js vývojové prostředí Chystám se vám ukázat, jak nastavit. To není nutné. Vždy můžete použít svůj vlastní Uzel.js aplikace, pokud chcete.
Nejprve se chystám navigovat k mému ~ / Projekty / adresář takto:
$ cd ~ / Projekty /
Teď se chystám klonovat svoji shovon8 / angular-hero-api Úložiště GitHub takto:
$ git clone https: // github.com / shovon8 / angular-hero-api
Soubory projektu budou v angular-hero-api / adresář, jak vidíte na snímku obrazovky níže.
Uzel.js Docker obrázky:
Existují oficiální obrázky kontejnerů pro různé verze Node.js postaven na vrcholu různých distribucí Linuxu na DockerHub. Navštivte https: // hub.přístavní dělník.com / _ / node / ze svého oblíbeného prohlížeče a vyhledejte uzel.js obrázek, který potřebujete. Jak vidíte, název značky pro celý uzel.JS obrázky jsou uvedeny na stránce DockerHub v Node.js. Můžete použít obrazy založené na distribuci Debian Jessie / Stretch, Alpine, ChakraCore Linux pro různé verze Node.js.
Chcete-li použít uzel, obvykle toho moc vědět nemusíte.js Docker obrázek. Pokud chcete použít Node.js verze 12, pak už jen musíte psát uzel: 12 když děláte kontejner. Pro Node.js 10, to je uzel: 10. Pro Node.js 8, to je uzel: 8. Je to tak jednoduché.
Konfigurace uzlu.js vývojové prostředí:
V této části se chystám nakonfigurovat aliasy příkazů Linuxu pro svůj uzel.aplikace js API. Tímto způsobem mohu snadno použít libovolnou verzi Node.js Chci spustit svou aplikaci.
V každém mém uzlu.adresář projektu js, vytvořím nový soubor zdroj. V tomto souboru si ponechám aliasy příkazů jako uzel12 pro Node.runtime js 12, uzel10 pro Node.runtime js 10, uzel8 pro Node.běhový modul js 8 běžící na Dockeru. Stejné můžete použít znovu zdroj soubor s malou úpravou na vašem druhém uzlu.JS projekty také.
Nejprve přejděte do adresáře projektu následujícím způsobem:
$ cd angular-hero-api /
Nyní vytvořte zdroj soubor s následujícím příkazem:
$ nano zdroj
Nyní zadejte následující řádky do zdrojového souboru.
alias node12 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v"$ PWD: / usr / src / app" -w / usr / src / uzel aplikace: 12 '
alias node10 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / uzel aplikace: 10 '
alias node8 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / uzel aplikace: 8 '
Tady, -to znamená spustit kontejner v interaktivním režimu.
-rm znamená automatické odebrání kontejneru, když již není potřeba.
-název hrdina-api definuje název kontejneru.
-p 4242: 4242 znamená přístav kontejneru 4242 je přesměrován na cílový port (ve vašem počítači) 4242. Formát této možnosti je -p cíl: zdroj. Nezapomeňte, že první port před dvojtečkou (:) je cílový port. Chcete-li ve svém počítači získat přístup k aplikaci na jiném portu než 4242, musíte změnit cílový port. Pokud vaše aplikace běží na jiném portu než 4242. Poté musíte změnit zdrojový port.
POZNÁMKA: Jelikož najednou budu používat pouze jeden z kontejnerů, název a cílový port může být stejný. Chcete-li spustit nebo otestovat svůj uzel.js aplikace na více uzlech.JS verze současně, pak se ujistěte, že název a cílový port se liší pro každý z kontejnerů ve zdrojovém souboru.
Až budete hotovi, uložte soubor stisknutím
Nyní povolte aliasy pomocí následujícího příkazu:
$ zdrojový zdroj
Nyní můžete spustit libovolnou verzi modulu runtime uzlu, kdykoli potřebujete uzel12, uzel10, uzel8 příkazy, jak vidíte na obrázku níže.
Spuštěn uzel Hero API.aplikace js:
Nyní se podívejme, jak spustit úhlový hrdina-api aplikace z mého úložiště GitHub s tímto nastavením. Budu používat Node.Nejprve runtime js 12, pak přejděte na Node.js 10 a Node.běhový modul js 8 vám ukáže, že funguje v každé z verzí.
Aplikace API nemá nainstalované žádné moduly uzlů. Musíte tedy nainstalovat všechny požadované moduly uzlů NPM instalace příkaz takto:
$ node12 npm instalace
Moduly uzlů jsou nainstalovány, jak vidíte na následujícím obrázku.
Nyní spusťte uzel.JS API takto:
$ node12 npm test běhu
Jak vidíte, server API běží na portu 4242 na kontejneru. Také jsem přeposlal port na 4242 v počítači. Takže bych měl mít přístup k němu na portu 4242.
Ano, mám k tomu přístup. Funguje podle očekávání.
Nyní nádobu zastavte stisknutím
Zkusme spustit aplikaci API s Node.js verze 10.
$ node10 npm test běhuJak vidíte, běží.
Funguje to pro Node.js 10 také.
Nakonec zkusme uzel.js verze 8.
$ node8 npm test běhuAplikace API běží na uzlu.runtime js 8 také.
Perfektní! Funguje to správně.
Takto jste tedy nastavili Node.js vývojové prostředí pomocí Dockeru. Děkujeme za přečtení tohoto článku.