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
- Nainstalujte Docker CE
- Nainstalujte Docker-Compose
- Nastavení projektu Nodejs Express
- Sestavte projekt
- 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.