U ovom vodiču provest ćemo vas kroz način na koji možete izgraditi NodeJS aplikaciju na dockeru. Naučit ćete kako izraditi demo NodeJS aplikaciju na vašem poslužitelju i kasnije je poslati u Docker hub. U ovom vodiču koristimo Ubuntu 18.04 LTS za naše testno okruženje.
Pa zašto bi netko želio gurati svoje aplikacije na docker? Kao što smo vidjeli ranije, Docker isporučuje aplikacije u spremnike koji grupiraju knjižnice i ovisnosti. Ovo predstavlja punopravno okruženje za postavljanje vaših aplikacija. Uz to, sastavnica razvojnog okruženja osigurava da će aplikacija raditi na isti način na mnogim programerima i klijentskim strojevima.
Preduvjeti za razvoj NodeJS Dockera
Ovaj vodič pretpostavlja da dobro poznajete Docker i poznajete strukturu NodeJS aplikacije.
Prije nego što nastavimo dalje, pobrinite se da je na vašem testnom okruženju instalirano sljedeće:
- Lučki radnik
- NodeJS i NPM
Ajmo sada uprljati ruke.
Korak 1: Stvorite čvor.JS aplikacija
Prvo započnite s izradom NodeJS aplikacije. Stvorit ćemo novi direktorij, a zatim se kretati unutar njega kao što je prikazano.
$ mkdir mynode-app && cd mynode-appZatim upotrijebite npm, skraćenicu od NodeJS Package Manager, za inicijalizaciju direktorija.
$ npm init
Naredba stvara datoteku pod nazivom paket.json . Od vas će se zatražiti da pojedinosti o JSON datoteci poput imena, verzije, opisa, ključnih riječi i autora navedete samo nekoliko.
Na samom kraju upišite da da biste potvrdili željene detalje json datoteke.
Dalje, dodajte ekspresni okvir izvršavanjem naredbe:
$ Npm install express --saveTrebali biste dobiti izlaz kao što je prikazano dolje
Korak 2: Stvorite čvor.JS aplikacija
U ovom koraku moramo stvoriti datoteke potrebne za aplikaciju NodeJS. Stvorimo 2 uzorka datoteka kako slijedi:
- js
- html
Za indeks.js datoteku, kopirajte i zalijepite sadržaj u nastavku:
const express = zahtijeva ('express')const app = express ()
app.get ('/', (req, res) =>
rez.sendFile ('$ __ dirname / index.html ')
)
app.slušaj (3000, () =>
konzola.log ('Slušanje na priključku 3000!')
)
Datoteka kreira rutu za indeks.html datoteku koja će slušati na portu 3000
Za indeks.html datoteku, zalijepite sljedeću konfiguraciju
Pozdrav tamo! Dobrodošli u moju NodeJS aplikaciju
Sada smo spremni za pokretanje aplikacije NodeJS.
Korak 3: Pokrenite aplikaciju NodeJS
Da biste pokrenuli aplikaciju, jednostavno izdajte naredbu
indeks $ čvora.js
Iz rezultata možemo vidjeti da aplikacija sluša na portu 3000. Da biste to potvrdili, otvorite svoj preglednik i pregledajte IP svog poslužitelja kao što je prikazano
http: // ip-adresa: 3000
Korak 4: Dockerizirajte aplikaciju NodeJS
Dalje, stvorit ćemo Docker datoteku
$ touch dockerfileZatim zalijepite donju konfiguraciju
OD čvora: ugljikWORKDIR / usr / src / app
COPY paket *.json ./
RUN npm instalacija
KOPIRATI…
IZLOŽITE 3000
CMD ["čvor", "indeks.js "]
Razdvojimo ovo:
Prvi redak pokazuje da namjeravamo koristiti najnoviju verziju Nodea za izgradnju svoje slike. Čvor.JS obično koristi Kemijske elemente za imenovanje svojih LTS verzija na Nodeu.
Drugi redak ukazuje na stvaranje /usr / src / app direktorij koji će sadržati kod aplikacije na slici.
Redci 3 i 4 usmjeravaju kopiranje paketa.json datoteku i izvršenje npm instalirati naredba
KOPIRATI… Ovo pakira aplikaciju NodeJS - koja sadrži HTML i JS datoteke - u Docker Image.
IZLOŽITE 3000 Ovo definira port koji će koristiti aplikacija NodeJS
CMD [„čvor“, „indeks.js "] Ovo prikazuje naredbu koju treba izvršiti da bi se aplikacija pokrenula.
Korak 5. Izgradite čvor.JS aplikacija
Nakon stvaranja datoteke Docker, sada ćemo izgraditi aplikaciju NodeJS pomoću naredbe naznačene u nastavku. Želite uključiti razmak i razdoblje na samom kraju kao što je prikazano. Opcija -t pomaže nam da označimo sliku kako bismo je lakše pronašli kad pokrenemo dockerske slike naredba.
$ docker build -t mynode-app .
Da biste potvrdili postojanje slike, pokrenite naredbu:
$ docker slike
Korak 6. Pokretanje spremnika dockera
Kad je naša slika spremna, pokrenimo je pomoću naredbe:
# docker pokrenite -p 8080: 3000 -d node-app
Naredba će usmjeravati aplikaciju da preslušava na priključku 8080 umjesto na priključku 3000. Da biste to potvrdili, otvorite svoj preglednik i pregledajte URL poslužitelja kao što je prikazano
http: // ip-adresa: 8080
Korak 7. Guranje aplikacije na čvorište dockera
Ovo je posljednji korak nakon što smo već izgradili našu aplikaciju i osigurali da sve funkcionira prema očekivanjima.
Prije nastavka provjerite jeste li stvorili račun na dock čvorište
Dalje, još jednom izgradite sliku koristeći svoje Dockerove vjerodajnice
# docker gradi -t [USERNAME] / tag .Korisničko ime je vaše korisničko ime za prijavu u središte dockera, a oznaka je oznaka vaše aplikacije. U mom slučaju naredba će biti prikazana
# docker build -t jayarthur / mynode-app .
Sada se prijavite na prikazano središte dockera.
# prijava na dockerNavedite svoje korisničko ime i lozinku i pritisnite ENTER
Sad ostaje samo gurnuti sliku na čvorište dockera. Da biste to postigli, izvršite naredbu:
# docker push jayarthur / mynode-app
Napokon, prijavite se na Docker čvorište i potvrdite postojanje slike aplikacije.
I ovo nam donosi kraj ovog vodiča. Slobodno se obratite svojim povratnim informacijama. Hvala.