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

Stručný úvod do Dockerfile

V tomto stručném průvodci vám stručně představím Dockerfile a naučí vás, jak jej používat k automatizaci procesu vytváření vlastních obrazů dockerů. Dockerfile není nic jiného než jednoduchý textový soubor s pokyny k vytvoření obrazu dockeru. Obsahuje všechny příkazy, které by uživatel mohl volat na příkazovém řádku, aby vytvořil obrázek. Dockerfile můžeme použít k vytvoření vlastních vlastních obrázků. Tyto vlastní obrázky Dockeru pak můžeme sdílet prostřednictvím Docker Hub . Pro ty, kteří by se zajímali, Docker Hub je hostovaná služba úložiště poskytovaná společností Docker pro vyhledávání a sdílení obrázků kontejnerů s vaším týmem a samozřejmě s kýmkoli na světě.

Představte si tento scénář. Dříve, pokud chceme použít Jenkins , pak musíme nainstalovat Jenkins se spoustou kroků. Díky Dockerhubu si nyní můžeme stáhnout a spustit předpřipravený obraz kontejneru Jenkinse během několika minut.

Obrázek kontejneru Jenkins v dockerhub

Chcete-li stáhnout Jenkinsův obrázek z DockerHubu, spusťte:

# docker pull Jenkins

Jakmile vytáhneme obrázky dockeru, můžeme je použít spuštěním obrázku pomocí příkazu:

# docker run -it -d -p 8080:8080 jenkins

Je to tak jednoduché!

Chcete-li se dozvědět více o používání Dockeru, prostudujte si následující příručku.

  • Začínáme s Dockerem

V Dockerhubu je k dispozici více než 100 000 obrázků kontejnerů od dodavatelů softwaru, open-source projektů a komunity. Můžete vyhledat a stáhnout libovolný obrázek kontejneru podle vašeho výběru z Dockerhubu a okamžitě jej začít používat, jak je uvedeno výše.

Porozumění formátu souboru Docker

Docker může vytvářet obrázky automaticky podle pokynů z Dockerfile.

Typický soubor Dockerfile obsahuje následující pokyny:

1. OD - Nastaví základní obrázek kontejneru.

Příklad:

FROM ubuntu:18.04

Nastaví základní obrázek kontejneru jako Ubuntu. Pokud tag 18.04 není zadán, bude tag považován za „nejnovější“.

2. ŠTÍTEK - Jedná se o pár klíč-hodnota používaný ke specifikaci metadatových informací obrázku.

Příklad:

LABEL ENV=”DEVELOPMENT”

3. SPUSTIT - Slouží k provedení příkazu na základním obrázku a vytvoří novou vrstvu.

Příklad:

RUN apt-get update
RUN apt-get install tomcat

4. CMD - Používá se k nastavení příkazu, který se má provést jako první při spuštění kontejneru.

Příklad:

CMD [“java”, “-jar”, “app.jar”]

5. VYSTAVIT - Zpřístupní port pro přístup ke kontejneru. Kontejner bude naslouchat na tomto síťovém portu. Můžeme přistupovat
výstup pomocí tohoto portu.

Příklad:

EXPOSE 8080

6. ÚDRŽBA - Uvede podrobnosti o autorovi, který vytvořil tento obrázek Docker.

Příklad:

MAINTAINER [email protected]

7. ENV - Používá se k nastavení proměnných prostředí v páru klíč-hodnota. Tyto proměnné se nastavují během vytváření obrazu
a jsou dostupné po vytvoření kontejneru.

Příklad:

ENV DB_NAME=”MySQL”
ENV DB_VERSION=”8.0”

8. KOPÍROVAT - Používá se ke kopírování místních souborů do kontejneru.

Příklad:

COPY /target/devops.jar devops.jar

9. PŘIDAT - Funguje to stejně jako kopírování, ale má další funkce, například můžeme extrahovat místní tar a přidat vzdálenou adresu URL.

Příklad:

ADD devops.tar.xz / .
ADD http://example.com/abc.git /usr/local/devops/

10. VSTUPNÍ BOD - Slouží k nastavení hlavního příkazu pro obrázek. Funguje stejně jako instrukce CMD. The
jediný rozdíl mezi CMD a ENTRYPOINT je v tom, že instrukce nejsou přepsány v ENTRYPOINT.

Příklad:

ENTRYPOINT [“java”, “-jar”, “app.jar”]

11. OBJEM - Vytvoří přípojný bod se zadaným názvem.

Příklad:

VOLUME /app/devops

12. UŽIVATEL - Nastaví uživatelské jméno a uživatelskou skupinu, které se mají použít při spouštění obrazu.

Příklad:

USER dhruv
USER admin

13. WORKDIR - Nastaví pracovní adresář. Pokud není přítomen, vytvoří adresář.

Příklad:

WORKDIR /var/lib/

Zde je ukázkový soubor Dockerfile pro vaši referenci.

FROM ubuntu:latest
MAINTAINER Dhruv Tiwari "[email protected]"
RUN apt-get install -y software-properties-common python
RUN add-apt-repository ppa:chris-lea/node.js
RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise universe" >>
/etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nodejs
RUN mkdir /var/www
ADD app.js /var/www/app.js
CMD ["/usr/bin/node", "/var/www/app.js"]

Dovolte mi ukázat vám jednoduchý příklad vytvoření ukázkového souboru Dockerfile a vytvoření obrázku pomocí něj.

Vytvoření Dockerfile

Vytvořte soubor s názvem Dockerfile , přidejte obsah do souborů. V následujícím příkladu aktualizujeme a instalujeme vim a vlnit .

# cat dockerfile
FROM alpine

RUN apk update
RUN apk add vim
RUN apk add curl

dockerfile pro alpine

Nyní máme soubor Dockerfile na svém místě. Pojďme do toho a vytvořte obrázek pomocí Dockerfile.

Vytvořte obrázek pomocí Dockerfile

Chcete-li vytvořit obrázek z Dockerfile, jednoduše spusťte:

# docker build -t devops .

Pozor na tečku (.) na konci.

Podle výše uvedeného příkazu začne Docker automaticky vytvářet obrázky přečtením pokynů ze Dockerfile uloženy v aktuálním pracovním adresáři.

Pokud je Dockerfile uložen někde jinde, můžete zmínit jeho cestu pomocí -f příznak jako níže.

# docker build -f /path/to/a/Dockerfile .

Po vytvoření obrázku jej můžeme spustit příkazem:

# docker run -it devops

Takto lze vytvořit vlastní obrázky kontejneru pomocí Dockerfile. Snad to pomůže. Probrali jsme jen základy. S Dockerfile můžete dělat mnohem víc. Doporučuji vám odkázat na oficiální referenční informace o Dockerfile průvodce, kde se o něm dozvíte více.

Doporučené čtení:

  • Vysvětlení pojmů Docker Networking
  • Vysvětlení svazků Docker s příklady
  • Jak automaticky aktualizovat spuštěné kontejnery Docker
  • ctop – nástroj pro monitorování příkazového řádku pro linuxové kontejnery
  • Portainer – nejsnazší způsob správy Dockeru
  • PiCluster – jednoduchá webová aplikace pro správu dockerů
  • Dockly – Správa kontejnerů Docker z terminálu

O autorovi:

Dhruv Tiwari je DevOps Engineer, který miluje automatizaci věcí, práci s Linuxem ve velkém a sní o dni, kdy budou systémy dostatečně chytré, aby se nikdy nemusely přihlašovat k linuxovému boxu. Cesta CI/CD od zdrojového kódu přes nasazení kódu až po produkci.


Docker
  1. Jak upravit obrázky Docker

  2. Úvod do Docker Containers

  3. Úvod do Docker Images

  1. Extrahovat soubor z obrázku Dockeru?

  2. Úvod do Dockeru

  3. Jak automaticky vytvářet a konfigurovat vlastní obrázky dockeru pomocí Dockerfile – část 3

  1. Krátký úvod k jednotkám cest

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

  3. Úvod do Dockeru