GNU/Linux >> Znalost Linux >  >> Ubuntu

Docker Guide:Dockerizing Nodejs Express Application na Ubuntu 18.04

Docker je projekt s otevřeným zdrojovým kódem, který poskytuje otevřenou platformu pro vývojáře a správce systému pro vytváření, balení a spouštění aplikací kdekoli jako lehký kontejner. Docker automatizuje nasazení aplikací uvnitř softwarových kontejnerů.

Nodejs je open-source JavaScript run-time prostředí. Je to multiplatformní run-time, lze jej nainstalovat na Linux, Windows, MacOS, FreeBSD atd. Nodejs je velmi užitečný pro vytváření serverových i desktopových aplikací.

V tomto tutoriálu vám ukážu, jak vytvořit docker image pro existující projekt aplikace Nodejs Express v Ubuntu 18.04. Dozvíme se o ukotvení aplikace Nodejs a poté aplikaci nasadíme jako kontejner do prostředí dockeru pomocí skriptu docker-compose.

Předpoklady

  • Ubuntu 18.04
  • Oprávnění uživatele root

Co uděláme

  1. Nainstalujte Docker CE
  2. Nainstalujte Docker-Compose
  3. Nastavení projektu Nodejs Express
  4. Sestavte projekt
  5. Testování

Krok 1 – Instalace Docker CE

V tomto tutoriálu nainstalujeme edici komunity docker-ce z úložiště docker. Nainstalujeme edici komunity docker-ce a docker-compose, která podporuje soubor pro psaní verze 3.

Před instalací docker-ce nainstalujte potřebné závislosti dockeru pomocí příkazu apt.

sudo apt install -y \
    apt-transport-https \
    ca-certifikáty \
    curl \
    software-properties-common

Nyní přidejte klíč dockeru a úložiště spuštěním příkazů níže.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release - cs) \
   stabilní"

Nainstalujte balíček docker-ce.

sudo apt install docker-ce

Po dokončení instalace spusťte službu docker a povolte její spuštění při každém spuštění systému.

systemctl start docker
systemctl enable docker

Dále udělíme normálnímu uživateli oprávnění ke spouštění a správě kontejneru dockeru.

Přidejte nového uživatele s názvem 'mohammad' a přidejte jej do skupiny dockerů.

useradd -m -s /bin/bash mohammad
usermod -a -G docker mohammad

Nyní se přihlaste jako uživatel 'mohammad' a spusťte docker kontejner hello-world.

su - mohammad
docker spustit hello-world

A dostanete výsledek, jak je ukázáno níže.

Krok 2 – Instalace Docker-Compose

V tomto kroku nainstalujeme docker-compose ručně z binárního souboru, který lze stáhnout z GitHubu. Nainstalujeme nejnovější verzi docker-compose, která bude podporovat compose v3.

Stáhněte si nejnovější verzi 1.22.0 docker-compose pomocí příkazu curl do adresáře '/usr/local/bin' a poté ji udělejte spustitelnou pomocí chmod.

Spusťte níže uvedené příkazy.

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local /bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

A byla nainstalována nejnovější verze docker-compose, zkontrolujte spuštěním příkazu docker-compose níže.

verze docker-compose

Následuje výsledek.

Krok 3 – Nastavení projektu Nodejs Express

V této části nakonfigurujeme prostředí aplikace Nodejs. Budeme používat jednoduchou aplikaci nodejs, kterou lze vygenerovat pomocí 'express-generator'.

Přihlaste se k uživateli 'mohammad'.

su - mohammad

Vytvořte nový adresář s názvem 'project' a přejděte do něj.

projekt mkdir -p
projekt cd

Nyní vygenerujte jednoduchou aplikaci hello-word nodejs pomocí příkazu 'express' níže.

expresní aplikace hakase

Poznámka:

Ujistěte se, že jsou v systému nainstalovány balíčky nodejs, npm a 'express-generator'.

A získáte jednoduchou aplikaci nodejs express v adresáři 'hakase-app'.

Dále vytvoříme vlastní image dockeru pro aplikaci nodejs 'hakase-app'.

V adresáři 'project' vytvořte nový 'Dockerfile' pomocí vim.

vim Dockerfile

Zde vložte následující konfiguraci obrazu dockeru.

FROM node:8.11.4-alpineRUN mkdir -p /srcRUN npm install express-generator -gWORKDIR /srcADD hakase-app/package.json /src/package.jsonRUN npm installEXPOSE 3000CMD uzelwww hakase-app/bin /před> 

Uložte a ukončete.

Vytváříme nový vlastní obrázek dockeru pro naši aplikaci nodejs s níže uvedenými specifikacemi.

  • Vlastní obrázek je založen na oficiální alpské verzi obrázku nodejs 8.11.4.
  • Vytváříme nový adresář pro náš projekt '/src'.
  • Nainstalujte 'express-generator' do vlastního obrázku.
  • Přidejte soubor 'package.json' obsahující profil aplikace a potřebné balíčky do adresáře '/src'.
  • Nainstalujte všechny balíčky nodejs potřebné pro projekt na základě souboru 'package.json'.
  • Exportujte port 3000 pomocí výchozího příkazu exec start 'node hakase-app/bin/www'.

Dále vytvoříme vlastní obrázek na základě skriptu docker-compose.

Vytvořte nový yml soubor 'docker-compose.yml' pomocí vim.

vim docker-compose.yml

Zde vložte následující konfiguraci.

verze:'3'služby:hakase-app:build:. objemy:- ./hakase-app:/src/hakase-app porty:- "3000:3000" restart:vždy

Uložte a ukončete.

Vytváříme novou službu dockeru s názvem 'hakase-app' a zároveň vytváříme vlastní bitovou kopii dockeru na základě 'Dockerfile' v adresáři projektu a automaticky připojíme soubory aplikace hakase-app.

Nastavení Nodejs Express bylo dokončeno.

Krok 4 – Sestavení a spuštění projektu

Přihlaste se jako uživatel 'mohammad' a přejděte do adresáře 'projekt'

su - mohammad
projekt cd/

Vytvořte obrázek a vytvořte docker service hakase-app pomocí příkazu docker-compose níže.

sestavení docker-compose

Nyní získáte výsledek, jak je znázorněno níže.

A až bude hotovo, spusťte službu dokovacího zařízení „hakase-app“.

docker-compose up -d

Následuje výsledek.

Vlastní obrázek dockeru pro naši aplikaci Nodejs byl vytvořen a služba hakase-app docker je spuštěna a spuštěna.

Krok 5 – Testování

Zobrazit dostupný obrázek dockeru na serveru.

obrázky pro skládání dockerů
obrázky dockerů

Byl vytvořen nový vlastní obrázek dockeru pro naši aplikaci Nodejs.

Zobrazit spuštěnou službu dockeru.

docker-compose ps
docker ps

Aplikace Nodejs je spuštěna a běží na hostitelském portu 3000.

Otevřete webový prohlížeč a zadejte IP adresu serveru s portem.

http://10.0.15.2:3000/

A získáte jednoduchou expresní stránku.

Dockerizing aplikace Nodejs Express na Ubuntu 18.04 byla úspěšně dokončena.


Ubuntu
  1. Jak nainstalovat Docker Engine na Ubuntu:Průvodce krok za krokem

  2. Jak nainstalovat Docker na Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Nainstalovat qt na Ubuntu 20.04 – průvodce krok za krokem?

  1. Nainstalujte PostgreSQL na Ubuntu:Snadný průvodce

  2. Jak nainstalovat Docker na Ubuntu 16.04

  3. Nainstalovat aplikaci Psensor Temperature Monitoring na Ubuntu 20.04 – průvodce krok za krokem?

  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Jak nainstalovat Kubernetes na Ubuntu 18.04

  3. Jak nainstalovat Docker Compose na Ubuntu 18.04