Jak zbudować aplikację Nodejs na Docker

Jak zbudować aplikację Nodejs na Docker
Docker stał się obecnie gorącym tematem rozmowy, szczególnie wśród programistów. Więc co to jest Docker? Docker to platforma OpenSource, która jeździ na jądrze Linux i pozwala programistom budować i wdrażać swoje aplikacje pojemniki. Kontenery zapewniają odizolowane środowisko do uruchamiania aplikacji i są dostarczane z własnymi bibliotekami, zależnościami i plikami konfiguracyjnymi, które są niezbędne do automatycznego wdrażania aplikacji.

W tym przewodniku przeprowadzimy Cię przez sposób zbudowania aplikacji Nodejs na Docker. Dowiesz się, jak zbudować aplikację Demo Nodejs na swoim serwerze, a później nacisnąć ją do Docker Hub. W tym przewodniku używamy Ubuntu 18.04 LTS dla naszego środowiska testowego.

Dlaczego więc ktokolwiek miałby naciskać swoje wnioski na Dockera? Jak widzieliśmy wcześniej, Docker wysyła aplikacje w kontenerach, które łączą biblioteki i zależności. Stanowi to w pełni wykładane środowisko do wdrażania aplikacji. Ponadto okręg wyborczy środowiska programistycznego zapewnia, że ​​aplikacja będzie działać w ten sam sposób u wielu programistów i maszyn klientów.

Wymagania wstępne dla rozwoju Docker Nodejs

Ten przewodnik zakłada, że ​​masz praktyczną wiedzę na temat Dockera, a także pewną znajomość struktury aplikacji Nodejs.

Zanim przejdziemy dalej, upewnij się, że w środowisku testowym jest zainstalowane:

  1. Doker
  2. NodeJS & NPM

Teraz zabrudzmy ręce.

Krok 1: Utwórz węzeł.Aplikacja JS

Najpierw zacznij od utworzenia aplikacji NodeJS. Utworzymy nowy katalog, a następnie poruszamy się w nim, jak pokazano.

$ mkdir myNode-App && cd myNode-App

Następnie użyj NPM, Short dla Nodejs Manager, aby zainicjować katalog.

$ npm init

Polecenie tworzy plik wywołany pakiet.JSON . Zostaniesz poproszony o szczegóły pliku JSON, takie jak nazwa, wersja, opis, słowa kluczowe i autor, aby wymienić tylko kilka.

W samym typu tak, aby potwierdzić preferowane szczegóły pliku JSON.

Następnie dodaj framework ekspresowy, wykonując polecenie:

$ npm instaluj Express -Save

Powinieneś uzyskać wyjście, jak pokazano poniżej

Krok 2: Utwórz węzeł.Aplikacja JS

W tym kroku musimy utworzyć pliki potrzebne do aplikacji Nodejs. Utwórzmy 2 przykładowe pliki w następujący sposób:

  1. JS
  2. html

Dla indeks.JS Plik, skopiuj i wklej poniższą zawartość:

const express = wymaga („express”)
const app = express ()
App.get ('/', (req, res) =>
res.sendFile ('$ __ dirname/index.html ')
)
App.Słuchaj (3000, () =>
konsola.Log („Słuchanie na porcie 3000!')
)

Plik tworzy trasę dla indeksu.plik HTML, który będzie słuchać w porcie 3000

Dla indeksu.plik HTML, wklej następującą konfigurację



Witam! Witamy w mojej aplikacji Nodejs



Jesteśmy teraz gotowi uruchomić aplikację Nodejs.

Krok 3: Uruchom aplikację Nodejs

Aby uruchomić aplikację, wystarczy wydać polecenie

indeks $ node.JS

Ze wyjścia widać, że aplikacja słuchała na porcie 3000. Aby to potwierdzić, otwórz przeglądarkę i przeglądaj adres IP swojego serwera, jak pokazano

http: // ip-address: 3000

Krok 4: Dockerize aplikacja NodeJS

Następnie utworzymy plik Docker

$ Touch Dockerfile

Następnie wklej poniższą konfigurację

Z węzła: węgiel
Workdir/usr/src/app
Pakiet kopiowania*.JSON ./
Uruchom instalację NPM
KOPIUJ…
Expose 3000
CMD [„węzeł”, „indeks.JS "]

Rozbijmy to:

Pierwszy wiersz pokazuje, że zamierzamy użyć najnowszej wersji Node do zbudowania naszego obrazu. Węzeł.JS zwykle używa elementów chemicznych do nazwie swoich wersji LTS w węźle.

Druga linia wskazuje na stworzenie /USR/SRC/App katalog, który pomieści kod aplikacji na obrazie.

Linie 3 i 4 kierują kopiowaniem pakietu.plik JSON i wykonanie Instalacja NPM Komenda

KOPIUJ… To pakuje aplikację Nodejs - obejmującą pliki HTML i JS - na obrazie dokera.

Expose 3000 To określa port, z którego będzie korzystać aplikacja Nodejs

CMD [„Node”, „Indeks.JS ”] To wyświetla polecenie, które należy wykonać, aby aplikacja mogła się uruchomić.

Krok 5. Zbuduj węzeł.Aplikacja JS

Po utworzeniu pliku Dockera zamierzamy teraz zbudować aplikację Nodejs za pomocą polecenia wskazanego poniżej. Chętnie uwzględnić przestrzeń i okres na samym końcu, jak pokazano. Opcja -T pomaga nam oznaczyć obraz, aby ułatwić go zlokalizowanie podczas uruchomienia Obrazy dokera Komenda.

$ Docker Build -t MyNode -App .

Aby potwierdzić istnienie obrazu, uruchom polecenie:

$ Docker Images

Krok 6. Uruchamianie kontenera Docker

Z naszym obrazem gotowym uruchommy teraz za pomocą polecenia:

# Docker Run -p 8080: 3000 -D Node -App

Polecenie skieruje aplikację do słuchania w porcie 8080 zamiast portu 3000. Aby to potwierdzić, otwórz przeglądarkę i przeglądaj adres URL serwera, jak pokazano

http: // ip-address: 8080

Krok 7. Pchanie aplikacji do Docker Hub

To ostatni krok, który już zbudował naszą aplikację i zapewnił, że wszystko działa zgodnie z oczekiwaniami.

Przed kontynuowaniem upewnij się, że utworzyłeś konto w Docker Hub

Następnie zbuduj obraz ponownie, używając poświadczeń Docker

# Docker Build -t [nazwa użytkownika]/tag .

Nazwa użytkownika to Twoja nazwa użytkownika logowania Docker Hub, a tag to tag Twojej aplikacji. W moim przypadku polecenie będzie pokazane

# Docker Build -t Jayarthur/MyNode -App .

Teraz zaloguj się do Docker Hub pokazany.

# login Docker

Podaj swoją nazwę użytkownika i hasło i naciśnij Enter

Jedyne, co pozostało teraz, to popchnąć obraz do hub dokera. Aby to osiągnąć, wykonaj polecenie:

# Docker Push Jayarthur/MyNode-App

Na koniec zaloguj się do piasty Docker i potwierdź istnienie obrazu aplikacji.

A to przynosi nam koniec tego samouczka. Zapraszam do skontaktowania się ze swoją opinią. Dzięki.