Dockerizacija aplikacije vključuje določanje vseh predpogojev, potrebnih za izvajanje aplikacije, in nato uporabo datoteke Docker za izdelavo posebne slike Docker, ki jo je mogoče deliti z različnimi napravami. Dockeriziranje ' Node.js ” izboljša doslednost in zagotavlja priročno odpravljanje napak na strani razvijalca.
Predpogoji
Predpogoji za dokkerizacijo » Node.js ” vključujejo naslednje:
- Namestitev Dockerja.
- Osnovno razumevanje aplikacije Node.js.
Kako dockerizirati aplikacijo Node.js?
A “ Node.js « Aplikacijo lahko dockerizirate z naslednjimi koraki:
1. korak: Ustvarite datoteko »package.json«.
Najprej ustvarite nov imenik, kjer bodo vse datoteke. Znotraj tega imenika ustvarite » package.json «, ki predstavlja aplikacijo skupaj z njenimi odvisnostmi:
{'ime' : 'docker_web_app' ,
'različica' : '1.0.0' ,
'opis' : 'Node.js na Dockerju' ,
'avtor' : 'Prvi zadnji ' ,
'glavni' : 'server.js' ,
'skripte' : {
'začetek' : 'vozlišče server.js'
} ,
'odvisnosti' : {
'ekspresno' : '^4.18.2'
} }
2. korak: ustvarite datoteko »package-lock.json«.
V datoteki »package.json« izvedite » namestitev npm »cmdlet. To bo ustvarilo ' package-lock.json «, ki je kopirana v sliko Dockerja, kot sledi:
npm namestite
3. korak: Ustvarite strežnik
Po tem ustvarite » server.js ', ki deklarira spletno aplikacijo, ki uporablja ' Express.js ” okvir:
'use strict' ;const express = zahtevaj ( 'express' ) ;
const PORT = 8080 ;
const HOST = '0.0.0.0' ;
const app = express ( ) ;
app.get ( '/' , ( zahteva, res ) = > {
res.send ( 'Pozdravljen, svet' ) ;
} ) ;
aplikacija.poslušaj ( PORT, HOST, ( ) = > {
console.log ( ` Deluje na http: // ${HOST} : ${PORT} ` ) ;
} ) ;
Zdaj pa preidimo na metodologije za izvajanje aplikacije v vsebniku Docker prek uradne slike Docker.
4. korak: Ustvarite datoteko Docker
Ročno ustvarite datoteko Docker v istem imeniku, ki vsebuje vse datoteke. V to datoteko napišite naslednjo vrstico kode:
FROM vozlišče: 18DELOVNI DIR / usr / src / aplikacija
KOPIRAJ paket * .json . /
ZAGENI npm namestite
KOPIRATI . .
IZPOSTITE 8080
CMD [ 'vozlišče' , 'server.js' ]
V zgornjem delčku kode uporabite spodnje korake:
- Najprej uporabite najnovejšo dolgoročno podporno različico 18 vozlišča kot osnovno sliko, ki jo vsebuje Docker Hub .
- Nato ustvarite imenik, ki bo vseboval kodo aplikacije na sliki.
- To predstavlja delovni imenik za aplikacijo.
- Zdaj namestite odvisnosti aplikacije prek » npm ”.
- Opomba: Če se uporablja različica npm 4 ali starejša, datoteka »package-lock.json« ne bo ustvarjena.
- Zdaj kopirajte ' package.json ' mapa. Prav tako združite izvorno kodo aplikacije v sliko Docker prek » KOPIRATI ” navodilo.
- Uporabite ' IZPOSTITE ” navodilo, da se aplikacija poveže z vrati 8080.
- Nazadnje definirajte cmdlet za izvajanje aplikacije prek CMD, ki definira čas izvajanja. Tukaj je ' strežnik vozlišča.js ” cmdlet bo uporabljen za zagon strežnika.
5. korak: Ustvarite datoteko ».dockerignore«.
Ustvarite datoteko ».dockerignore« v » Dockerfile ” imenik/mapa, ki vsebuje spodnjo vsebino:
moduli_vozliščanpm-debug.log
Ta vsebina se izogiba kopiranju lokalnih modulov in dnevnikov odpravljanja napak v sliko Docker.
6. korak: Ustvarite sliko
Zdaj v imeniku, ki vsebuje datoteko Dockerfile, zgradite sliko s spodaj navedenim cmdletom:
zgradba dockerja. -t nodejs / spletna aplikacija vozlišča
V tem ukazu cmdlet » nodejs « se nanaša na ime imenika, zato ustrezno določite cmdlet in » -t ” zastavica označuje sliko.
Zdaj navedite slike s tem ukazom:
docker slike
7. korak: Zaženite sliko
Izvedite/zaženite sliko s spodaj navedenim ukazom cmdlet:
docker run -str 49160 : 8080 -d nodejs / spletna aplikacija vozlišča
Tukaj je ' -str ' zastavica preusmeri javna vrata na zasebna znotraj vsebnika in ' -d ” izvede vsebnik v ločenem načinu, tj. v ozadju.
8. korak: Ustvarite izhod aplikacije
Zdaj natisnite izhod aplikacije z naslednjimi ukazi:
docker psdockerjevi dnevniki 77b1e3c8576e
Če je treba krmariti znotraj lupine vsebnika, uporabite » izv »cmdlet:
docker izv -to 77b1e3c8576e / koš / bash
Tukaj, ' 77b1e3c8576e ' predstavlja ID vsebnika, ki ga je mogoče kopirati prek izvedenega ' docker ps ” ukaz prej.
9. korak: Testiranje aplikacije
Za testiranje aplikacije pridobite vrata aplikacije, ki jih je Docker preslikal:
docker ps
V zgornjem ukazu cmdlet je Docker preslikal » 8080 'pristanišče znotraj vsebnika do pristanišča' 49160 ” na stroju.
10. korak: Priklic aplikacije
Prikličite aplikacijo prek » curl ” cmdlet tako, da se obrnete na zgoraj preslikana vrata in vnesete zahtevane vrednosti:
curl -jaz lokalni gostitelj: 49160
11. korak: Zaprite/ubijte aplikacijo
Na koncu zaprite aplikacijo prek » ubiti »cmdlet:
docker ubiti 77b1e3c8576e
Preverite tudi, ali se je aplikacija ustavila prek tega ukaza z vnesenimi vrednostmi:
curl -jaz lokalni gostitelj: 49160
Zaključek
A “ Node.js « Aplikacijo lahko dockerizirate tako, da ustvarite strežnik, datoteko docker, datoteko ».dockerignore«, zgradite in zaženete sliko, ustvarite izhod aplikacije ter preizkusite, zaprete in potrdite zaustavitev aplikacije. Ta članek je podrobneje obravnaval dokkerizacijo aplikacije Node.js.