Dockerisering av en applikasjon inkluderer å spesifisere alle forutsetningene som kreves for å kjøre applikasjonen og deretter bruke Dockerfilen til å bygge et spesialisert Docker-bilde som kan deles med forskjellige maskiner. Dockerizing en ' Node.js ”-applikasjonen forbedrer konsistensen og sikrer praktisk feilsøking ved utviklerens ende.
Forutsetninger
Forutsetningene for dockerisering av en ' Node.js '-applikasjonen inkluderer følgende:
- Docker installasjon.
- Grunnleggende forståelse av Node.js-applikasjonen.
Hvordan dockerisere en Node.js-applikasjon?
en ' Node.js '-applikasjonen kan dockeriseres via følgende trinn:
Trinn 1: Lag en 'package.json'-fil
Lag først en ny katalog der alle filene skal bestå. I denne katalogen oppretter du ' package.json '-fil som representerer appen sammen med dens avhengigheter:
{'Navn' : 'docker_web_app' ,
'versjon' : '1.0.0' ,
'beskrivelse' : 'Node.js på Docker' ,
'forfatter' : 'Først sist ' ,
'hoved' : 'server.js' ,
'skript' : {
'start' : 'node server.js'
} ,
'avhengigheter' : {
'uttrykke' : '^4.18.2'
} }
Trinn 2: Generer en 'package-lock.json'-fil
Innenfor 'package.json'-filen, kjør ' npm installere ' cmdlet. Dette vil generere en ' package-lock.json '-fil som kopieres til Docker-bildet, som følger:
npm installere
Trinn 3: Opprett en server
Etter det oppretter du en ' server.js '-fil som erklærer en nettapp som bruker ' Express.js ' rammeverk:
'bruk strengt' ;const express = kreve ( 'uttrykke' ) ;
const PORT = 8080 ;
const HOST = '0.0.0.0' ;
const app = ekspress ( ) ;
app.get ( '/' , ( krav, res ) = > {
send på nytt ( 'Hei Verden' ) ;
} ) ;
app.lytt ( PORT, VERT, ( ) = > {
console.log ( ` Kjører på http: // ${HOST} : ${PORT} ` ) ;
} ) ;
La oss nå gå videre til metodene for å kjøre applikasjonen i en Docker-beholder via et offisielt Docker-bilde.
Trinn 4: Lag en Dockerfile
Lag en Dockerfile manuelt i samme katalog som inneholder alle filene. I denne filen skriver du følgende kodelinje:
FRA node: 18WORKDIR / usr / src / app
KOPIER pakke * .json . /
KJØR npm installere
KOPI . .
AVDEKKE 8080
CMD [ 'node' , 'server.js' ]
I kodebiten ovenfor bruker du trinnene nedenfor:
- Først, bruk den siste langsiktige støtteversjonen 18 av noden som et basisbilde i Docker Hub .
- Deretter oppretter du en katalog som inneholder appkoden i bildet.
- Dette representerer arbeidskatalogen for applikasjonen.
- Installer nå appavhengighetene via ' npm '.
- Merk: Hvis npm versjon 4 eller tidligere brukes, vil ikke en 'package-lock.json'-fil bli opprettet.
- Nå, kopier ' package.json ' fil. Bunt også appens kildekode i Docker-bildet via ' KOPIERE ' instruksjon.
- Bruk ' AVDEKKE ” instruksjon for å la appen binde seg til port 8080.
- Til slutt, definer cmdleten for å kjøre applikasjonen via CMD som definerer kjøretiden. Her er ' node server.js ” cmdlet vil bli brukt til å starte serveren.
Trinn 5: Lag en '.dockerignore'-fil
Opprett en '.dockerignore'-fil i ' Dockerfil ” katalog/mappe som inneholder innholdet nedenfor:
node_modulesnpm-debug.log
Dette innholdet unngår at de lokale modulene og feilsøkingsloggene henholdsvis kopieres i Docker-bildet.
Trinn 6: Bygg bildet
Nå, i katalogen som omfatter Dockerfilen, bygg bildet ved å bruke den nedenfor angitte cmdleten:
docker bygge. -t nodejs / node-web-app
I denne cmdleten ' nodejs ' refererer til katalognavnet, så spesifiser cmdleten tilsvarende og ' -t ' flagg merker bildet.
List nå bildene via denne kommandoen:
docker-bilder
Trinn 7: Kjør bildet
Kjør/kjør bildet ved å bruke cmdleten nedenfor:
docker run -s 49160 : 8080 -d nodejs / node-web-app
Her er ' -s flagget omdirigerer en offentlig port til en privat i containeren og ' -d flagget kjører beholderen i frakoblet modus, dvs. i bakgrunnen.
Trinn 8: Generer appens utdata
Skriv ut utdataene fra applikasjonen ved å bruke følgende kommandoer:
havnearbeider psdocker logger 77b1e3c8576e
Hvis det er behov for å navigere innenfor beholderskallet, bruk ' exec ' cmdlet:
havnearbeider exec -den 77b1e3c8576e / bin / bash
Her, ' 77b1e3c8576e ' representerer beholderens ID som kan kopieres via den utførte ' docker ps ' kommando tidligere.
Trinn 9: Testing av applikasjonen
For å teste applikasjonen, hent porten til appen som Docker kartla:
havnearbeider ps
I cmdleten ovenfor kartla Docker ' 8080 'port i containeren til porten' 49160 ' på maskinen.
Trinn 10: Påkalling av applikasjonen
Påkall applikasjonen via ' krølle ' cmdlet ved å referere til den kartlagte porten ovenfor og angi de nødvendige verdiene:
krølle -Jeg lokal vert: 49160
Trinn 11: Lukk/drep applikasjonen
Til slutt, slå av applikasjonen via ' drepe ' cmdlet:
havnearbeider drepe 77b1e3c8576e
Bekreft også om applikasjonen har stoppet via denne kommandoen med inndataverdier:
krølle -Jeg lokal vert: 49160
Konklusjon
en ' Node.js ”-applikasjonen kan dokkes ved å opprette en server, en dockerfil, “.dockerignore”-filen, bygge og kjøre bildet, generere appens utdata, og teste, lukke og bekrefte stoppingen av applikasjonen. Denne artikkelen utdypet om dockerisering av en Node.js-applikasjon.