Lučki radnik

Kako izraditi aplikaciju Nodejs na dockeru

Kako izraditi aplikaciju Nodejs na dockeru
Docker je danas postao vruća tema razgovora, posebno među programerima. Pa što je docker? Docker je platforma otvorenog koda koja radi na Linux jezgri i omogućava programerima da grade i implementiraju svoje aplikacije u kontejneri. Spremnici pružaju izolirano okruženje za pokretanje aplikacija i isporučuju se s vlastitim knjižnicama, ovisnostima i konfiguracijskim datotekama koje su ključne za automatsko postavljanje aplikacija.

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:

  1. Lučki radnik
  2. 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-app

Zatim 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 --save

Trebali 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:

  1. js
  2. 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 dockerfile

Zatim zalijepite donju konfiguraciju

OD čvora: ugljik
WORKDIR / 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 docker

Navedite 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.

10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...
5 najboljih arkadnih igara za Linux
U današnje vrijeme računala su ozbiljni strojevi koji se koriste za igre na sreću. Ako ne uspijete dobiti novi visoki rezultat, znat ćete na što misli...
Bitka za Wesnoth 1.13.6 Razvoj objavljen
Bitka za Wesnoth 1.13.6 objavljeno prošlog mjeseca, šesto je razvojno izdanje u izdanju 1.13.x series i donosi niz poboljšanja, ponajviše korisničkog ...