La oss for eksempel si, du vil ikke installere node.JS på datamaskinen din og vil fortsatt utvikle node.JS -applikasjoner eller tester en eksisterende. I så fall kan du ganske enkelt bruke en node.JS Docker Container.
Et annet eksempel er hvor du trenger å teste noden din.JS -applikasjon på forskjellige versjoner av noden.JS. I så fall kan du bruke forskjellige noder.JS Docker -containere med en annen versjon av Node.JS installert for å teste søknaden din.
I denne artikkelen vil jeg vise deg hvordan du setter opp node.JS utviklingsmiljø ved hjelp av Docker. Så la oss komme i gang.
Sette opp prosjektkatalog:
I denne delen vil jeg klone en av noden min.JS API -app fra github til min ~/Prosjekter/ Katalog bare for testing av Docker Node.JS utviklingsmiljø Jeg skal til å vise deg hvordan du oppsett. Dette er ikke nødvendig. Du kan alltid bruke din egen node.JS -app hvis du vil.
Først skal jeg navigere til min ~/Prosjekter/ Katalog som følger:
$ cd ~/prosjekter/
Nå skal jeg klone min Shovon8/Angular-Hero-Api GitHub Repository som følger:
$ git klon https: // github.com/shovon8/angular-hero-api
Prosjektfilene vil være i Angular-Hero-api/ Katalog som du kan se på skjermdumpen nedenfor.
Node.JS Docker -bilder:
Det er offisielle containerbilder for en annen versjon av Node.JS bygget på toppen av forskjellige Linux -distribusjoner på Dockerhub. Besøk https: // hub.Docker.com/_/node/fra din favoritt nettleser for å finne noden.JS -bilde du trenger. Som du ser, tagnavnet for all noden.JS -bilder er oppført på Dockerhub -siden til Node.JS. Du kan enten bruke Debian Jessie/Stretch, Alpine, Chakracore Linux Distribusjonsbaserte bilder for forskjellige versjoner av Node.JS.
Vanligvis trenger du ikke å vite mye for å bruke en node.JS Docker -bilde. Hvis du vil bruke node.JS versjon 12, så alt du trenger å gjøre er å skrive Node: 12 Når du lager en beholder. For node.JS 10, det er det Node: 10. For node.JS 8, det er det Node: 8. Det er så enkelt.
Konfigurere noden.JS utviklingsmiljø:
I denne delen skal jeg konfigurere Linux -kommandoaliaser for noden min.JS API -app. På den måten kan jeg enkelt bruke hvilken som helst versjon av Node.js jeg vil kjøre appen min.
I hver av noden min.JS Project Directory, jeg oppretter en ny fil kilde. I den filen vil jeg holde kommandoaliasene som Node12 for node.JS 12 Runtime, Node10 for node.JS 10 Runtime, Node8 for node.JS 8 Runtime Running on Docker. Du kan gjenbruke det samme kilde fil med liten modifisering på den andre noden din.JS -prosjekter også.
Først, naviger til prosjektkatalogen din som følger:
$ CD Angular-Hero-api/
Nå, lage en kilde fil med følgende kommando:
$ nano kilde
Skriv inn følgende linjer i kildefilen nå.
alias node12 = 'Docker Run -it - -RM -Navn Hero -Api -P 4242: 4242 -V
"$ Pwd:/usr/src/app" -w/usr/src/app node: 12 '
alias node10 = 'Docker Run -it - -RM -Navn Hero -Api -P 4242: 4242 -V
"$ Pwd:/usr/src/app" -w/usr/src/app node: 10 '
alias node8 = 'docker run -it - -rm -Navn Hero -api -p 4242: 4242 -V
"$ Pwd:/usr/src/app" -w/usr/src/app node: 8 '
Her, -den betyr, kjør beholderen i interaktiv modus.
-rm betyr å fjerne beholderen automatisk når den ikke lenger er nødvendig.
-Navn helt-api definerer et navn for beholderen.
-s 4242: 4242 betyr containerporten 4242 blir videresendt til destinasjonsporten (på datamaskinen din) 4242. Formatet på dette alternativet er -P -destinasjon: Kilde. Husk at den første porten før tykktarmen (:) er destinasjonsporten. Hvis du vil få tilgang til applikasjonen din på en annen port enn 4242 på datamaskinen din, må du endre destinasjonsporten. Hvis applikasjonene dine kjører på en annen havn enn 4242. Da må du endre kildeporten.
MERK: Som jeg bare vil bruke en av containerne når som helst, Navn og Destinasjonsport kan være den samme. Hvis du ønsker å kjøre eller teste noden din.JS -applikasjon på flere noder.JS -versjon samtidig, og sørg for at Navn og Destinasjonsport er forskjellig for hver av containerne i kildefilen.
Når du er ferdig, lagre filen ved å trykke på + x etterfulgt av y og .
Aktiver nå aliasene med følgende kommando:
$ kilde kilde
Nå kan du kjøre hvilken som helst versjon av Node Runtime når du trenger med Node12, Node10, Node8 Kommandoer som du kan se på skjermbildet nedenfor.
Running Hero Api Node.JS -app:
La oss nå se hvordan vi skal kjøre Angular-Hero-Api App fra GitHub -depotet mitt med dette oppsettet. Jeg skal bruke Node.JS 12 runtime først, og gå deretter for node.JS 10 og node.JS 8 Runtime for å vise deg at det fungerer i hver av versjonene.
API -appen har ingen nodemoduler installert. Så du må installere alle nødvendige nodemoduler med NPM installasjon Kommando som følger:
$ node12 npm installasjon
Nodemodulene er installert som du kan se på skjermdumpen nedenfor.
Kjør nå noden.JS API -appen som følger:
$ node12 npm kjørtest
Som du ser kjører API -serveren på port 4242 på beholderen. Jeg sendte også porten til 4242 på datamaskinen min. Så jeg burde kunne få tilgang til den på port 4242.
Ja, jeg har tilgang til det. Det fungerer som forventet.
Stopp beholderen ved å trykke på + c.
La oss prøve å kjøre API -appen med Node.JS versjon 10.
$ node10 npm kjørestest
Som du ser, kjører det.
Det fungerer for node.JS 10 også.
Til slutt, la oss prøve på node.JS versjon 8.
$ node8 npm kjørtest
API -appen kjører på Node.JS 8 runtime også.
Perfekt! Det fungerer riktig.
Så det er slik du setter opp node.JS utviklingsmiljø ved hjelp av Docker. Takk for at du leste denne artikkelen.