I denne guiden vil vi lede deg gjennom hvordan du kan bygge en NodeJS -app på Docker. Du lærer hvordan du bygger en demo -nodejs -applikasjon på serveren din og senere skyver den til Docker Hub. I denne guiden bruker vi Ubuntu 18.04 LTS for vårt testmiljø.
Så hvorfor vil noen ønske å skyve applikasjonene sine på Docker? Som vi så tidligere, sender Docker applikasjoner i containere som bunter biblioteker og avhengigheter. Dette utgjør et fullverdig miljø for å distribuere applikasjonene dine. I tillegg sikrer utviklingsmiljøets valgkrets at applikasjonen vil fungere på samme måte på tvers av mange utviklere og klientmaskiner.
Forutsetninger for NodeJS Docker Developement
Denne guiden forutsetter at du har en arbeidskunnskap om Docker og også noen kjennskap til strukturen i et NodeJS -applikasjon.
Før vi går videre, må du forsikre deg om at følgende er installert på testmiljøet ditt:
La oss nå få hendene skitne.
Trinn 1: Lag en node.JS -applikasjon
Start først med å opprette et NodeJS -applikasjon. Vi oppretter en ny katalog og navigerer deretter inni den som vist.
$ mkdir myNode-app && cd myNode-app
Bruk deretter NPM, forkortelse for NodeJS Package Manager, for å initialisere katalogen.
$ npm init
Kommandoen oppretter en fil som heter pakke.JSON . Du blir bedt om detaljer om JSON -filen som navn, versjon, beskrivelse, nøkkelord og forfatteren om å nevne bare noen få.
Helt til slutt type ja for å bekrefte de foretrukne detaljene i JSON -filen.
Deretter legger du til Express Framework ved å utføre kommandoen:
$ npm install Express - -LAVE
Du bør få en utdata som vist nedenfor
Trinn 2: Lag en node.JS -applikasjon
I dette trinnet må vi lage filer som trengs for NodeJS -applikasjonen. La oss opprette to prøvefiler som følger:
For indeks.JS Fil, kopier og lim inn innholdet nedenfor:
const express = krever ('ekspress')
const app = express ()
app.få ('/', (req, res) =>
res.SendFile ('$ __ Dirname/Index.html ')
)
app.lytt (3000, () =>
konsoll.Logg ('Lytter på port 3000!')
)
Filen oppretter en rute for indeks.HTML -fil som skal lytte på port 3000
For indeksen.HTML -fil, lim inn følgende konfigurasjon
Vi er nå klare til å starte NodeJS -appen.
Trinn 3: Kjør NodeJS -applikasjonen
For å starte søknaden, kan du bare gi kommandoen
$ nodeindeks.JS
Fra utgangen kan vi se at applikasjonen lytter på port 3000. For å bekrefte dette, åpne nettleseren din og bla gjennom serverens IP som vist
http: // ip-adresse: 3000
Trinn 4: Dockeriser NodeJS -applikasjonen
Deretter skal vi opprette en Docker -fil
$ Touch Dockerfile
Deretter lim inn konfigurasjonen nedenfor
Fra node: karbon
Workdir/usr/src/app
Kopipakke*.JSON ./
Kjør NPM -installasjon
KOPIERE…
Utsett 3000
Cmd ["node", "indeks.JS "]
La oss bryte dette ned:
Den første linjen viser at vi har tenkt å bruke den nyeste versjonen av Node for å bygge vårt bilde. Node.JS bruker vanligvis kjemiske elementer for å navngi LTS -versjonene på Node.
Den andre linjen peker på opprettelsen av /usr/src/app Katalog som vil imøtekomme applikasjonens kode i bildet.
Linjer 3 og 4 leder kopieringen av pakken.JSON -filen og utførelsen av NPM installasjon kommando
KOPIERE… Dette pakker NodeJS -applikasjonen - som består av HTML- og JS -filene - i Docker -bildet.
Utsett 3000 Dette definerer porten som NodeJS -appen vil bruke
CMD [“Node”, “Index.JS ”] Dette viser kommandoen som må utføres for at applikasjonen skal starte.
Trinn 5. Bygg noden.JS -applikasjon
Etter å ha opprettet Docker -filen, skal vi nå bygge NodeJS -appen ved å bruke kommandoen som er angitt nedenfor. Være opptatt av å inkludere et rom og en periode helt til slutt som vist. Alternativet hjelper oss med å merke bildet for å gjøre det lettere å finne det når vi kjører Docker -bilder kommando.
$ docker build -t myNode -app .
For å bekrefte eksistensen av bildet, kjør kommandoen:
$ Docker -bilder
Trinn 6. Kjører Docker -beholderen
Med vårt bilde klar, la oss nå starte det ved hjelp av kommandoen:
# Docker Run -P 8080: 3000 -D Node -App
Kommandoen vil lede søknaden om å lytte på port 8080 i stedet for port 3000. For å bekrefte dette, åpne nettleseren din og bla gjennom serverens URL som vist
http: // ip-adresse: 8080
Trinn 7. Skyver applikasjonen til Docker Hub
Dette er det siste trinnet som allerede har bygget vår søknad og sørget for at alt fungerer som forventet.
Før du fortsetter, må du forsikre deg om at du har opprettet en konto på Docker Hub
Neste, bygg bildet igjen ved å bruke Docker -legitimasjonen
# docker build -t [brukernavn]/tag .
Brukernavnet er Docker Hub Loggin Brukernavn og taggen er applikasjonens tag. I mitt tilfelle vil kommandoen bli vist
# Docker Build -T Jayarthur/Mynode -App .
Logg deg nå på Docker Hub A vist.
# Docker -pålogging
Oppgi brukernavnet og passordet ditt og trykk Enter
Det eneste som er igjen nå er å skyve bildet til Docker Hub. For å oppnå dette, utfør kommandoen:
# Docker Push Jayarthur/Mynode-App
Til slutt, logg inn på Docker -huben din og bekreft eksistensen av applikasjonens bilde.
Og dette bringer oss slutten på denne opplæringen. Ta gjerne kontakt med tilbakemeldingene dine. Takk.