Hvordan bygge en NodeJS -app på Docker

Hvordan bygge en NodeJS -app på Docker
Docker har blitt et hett samtaleemne i dag, spesielt blant utviklere. Så hva er Docker? Docker er en OpenSource -plattform som rir på Linux -kjernen og lar utviklere bygge og distribuere applikasjonene sine i containere. Containere gir et isolert miljø for å kjøre applikasjoner, og de kommer med sine egne biblioteker, avhengigheter og konfigurasjonsfiler som er avgjørende for automatisk distribusjon av applikasjoner.

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:

  1. Docker
  2. Nodejs & npm

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:

  1. JS
  2. html

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



Hei der! Velkommen til NodeJS -applikasjonen min



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.