Košík je prázdný

Vývoj aplikací v Node.js je v současné době jednou z nejpopulárnějších metod tvorby serverových a webových aplikací. Díky své flexibilitě a široké podpoře knihoven se stala platforma Node.js klíčovým prvkem v mnoha vývojových projektech. Abychom zajistili efektivní vývoj, nasazení a běh těchto aplikací, je zásadní správně řídit jejich prostředí a závislosti. V tomto článku se podrobně zaměříme na správu a izolaci prostředí pro Node.js aplikace s využitím Docker kontejnerů na operačním systému Debian.

Úvod do Dockeru a jeho význam pro Node.js aplikace

Docker je nástroj, který umožňuje jednoduchou a rychlou izolaci aplikací do kontejnerů. Tyto kontejnery obsahují veškeré potřebné závislosti a knihovny, což eliminuje problémy typu "na mém počítači to funguje". Kontejnery Dockeru lze snadno přenášet a spouštět na jakémkoliv systému, který podporuje Docker, což činí nasazení aplikací mnohem jednodušším a rychlejším.

Příprava prostředí Debian pro Docker

Než začneme s vytvářením Docker obrazů a kontejnerů pro Node.js aplikace, je třeba na Debianu nainstalovat Docker. Provedeme to otevřením terminálu a spuštěním následujících příkazů:

  1. Aktualizujte index balíčků:
    sudo apt update
    ​
  2. Nainstalujte potřebné balíčky pro instalaci Dockeru:
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    ​
  3. Přidejte GPG klíč Docker repository:
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    ​
  4. Přidejte Docker repository do APT sources:
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
    ​
  5. Nainstalujte Docker:
    sudo apt update
    sudo apt install docker-ce
    ​

 

Po instalaci je dobré ověřit, že Docker běží, spuštěním sudo systemctl status docker.

Vytváření Docker obrazů pro Node.js aplikace

Pro vytvoření Docker obrazu je nejprve nutné připravit Dockerfile. Tento soubor obsahuje instrukce pro sestavení obrazu, včetně základního obrazu, závislostí a spustitelných příkazů. Příklad Dockerfile pro Node.js aplikaci by mohl vypadat takto:

FROM node:14

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["node", "index.js"]

Tento Dockerfile:

  • Začíná s obrazem Node.js verze 14 jako základem.
  • Nastavuje pracovní adresář kontejneru na /app.
  • Kopíruje soubory package.json a package-lock.json (pokud existuje) do kontejneru.
  • Spouští npm install pro instalaci závislostí.
  • Kopíruje zbytek aplikace do kontejneru.
  • Exponuje port 3000.
  • Nastavuje výchozí příkaz pro spuštění aplikace: node index.js.

Pro sestavení obrazu použijte v terminálu příkaz:

sudo docker build -t nazev-aplikace .

Spuštění a správa Docker kontejnerů pro Node.js aplikace

Po úspěšném sestavení obrazu lze kontejner spustit pomocí příkazu:

sudo docker run -d -p 3000:3000 nazev-aplikace

Tento příkaz spustí kontejner na pozadí (-d), mapuje port 3000 hostitelského systému na port 3000 kontejneru, což umožňuje přístup k aplikaci prostřednictvím webového prohlížeče.

Správa běžících kontejnerů se provádí pomocí příkazů Dockeru, jako je docker ps pro zobraz běžících kontejnerů, docker stop pro zastavení kontejneru, nebo docker logs pro zobrazení logů kontejneru.

Docker a Node.js tedy představují silnou kombinaci pro vývoj, testování a nasazení webových aplikací. S Dockerem je možné jednoduše izolovat aplikace a jejich závislosti, což výrazně zjednodušuje nasazování aplikací a zvyšuje jejich portabilitu.