GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Dockerfiles

Dockerfile je recept na vytvoření obrazu Docker.

Toto je pracovní postup:nejprve vytvoříte soubor Dockefile a poté z něj vytvoříte obrázek Docker pomocí docker build a nakonec spustíte kontejner z obrázku.

Dockerfile je textový soubor s pokyny, jak vytvořit obrázek.

Tyto instrukce jsou součástí konfiguračního jazyka, který obsahuje klíčová slova jako FROM , LABEL , RUN , COPY , ENTRYPOINT , CMD , EXPOSE , ENV a další.

Pojďme vytvořit náš první Dockerfile:

Řekněme, že máte složku s jednoduchou aplikací Node.js složenou z app.js , package.json soubor, který uvádí několik závislostí, které je třeba nainstalovat před spuštěním aplikace, a package-lock.json .

Uvnitř vytvořte prostý textový soubor s názvem Dockerfile , bez přípony, s tímto obsahem:

FROM node:14
WORKDIR /usr/src/app
COPY package*.json app.js ./
RUN npm install
EXPOSE 3000
CMD ["node", "app.js"]

POZNÁMKA:používejte dvojité uvozovky v CMD čára. Jednoduché uvozovky způsobí chybu.

V prvním řádku si řekneme, od kterého obrázku chceme začít. Toto bude náš základní obrázek. V tomto případě převezme oficiální obrázek Node.js založený na Alpine Linuxu pomocí Node 14. Při vytváření kontejneru z Dockerfile získá Docker tento obrázek z Docker Hub.

Dále nastavíme pracovní adresář na /usr/src/app , což znamená, že všechny naše příkazy budou spouštěny v této složce, dokud ji znovu nezměníme. To je složka, o které víme, že již existuje v obrazu Node.

Zkopírujeme package.json , package-lock.json (pomocí * zástupný znak) a app.js soubory, které se nacházejí v aktuální složce, do pracovního adresáře.

Spustíme npm install k instalaci balíčků uvedených v package.json soubor.

Poté vystavíme port 3000 navenek, protože na tom naše aplikace běží. Kontejner je 100% izolován od sítě, pokud jeden z jeho portů neodhalíte pomocí EXPOSE příkaz. Později uvidíme, jak můžeme mapovat porty v našem počítači na porty v kontejneru Docker.

Nakonec spustíme node app.js spusťte aplikaci.

Toto je Dockerfile a brzy uvidíme, jak z něj skutečně vytvořit kontejner.


Docker
  1. Terraform – Nasaďte Python Lambda (obrázek kontejneru)

  2. Jak otočit obrázek v Gs?

  3. Extrahovat soubor z obrázku Dockeru?

  1. Jak použít Dockerfile k vytvoření Docker Image

  2. Optimalizace obrázků pomocí webp

  3. jpegoptim pro optimalizaci obrazu

  1. Jak upravit obrázky Docker

  2. Aktualizace nasazeného kontejneru na základě obrazu Dockeru

  3. Jak potvrdit změny v obrazu Dockeru