Úvodná príručka pre Docker: Rýchly štart s kontajnerizáciou vašej aplikácie

2/18/2026
6 min read
# Úvodná príručka pre Docker: Rýchly štart s kontajnerizáciou vašej aplikácie

Docker sa stal neoddeliteľnou súčasťou moderného vývoja a nasadzovania softvéru. Napriek rozsiahlym diskusiám okolo Kubernetes je Docker stále preferovaným nástrojom pre mnohé spoločnosti na vytváranie, testovanie a nasadzovanie aplikácií. Tento článok vás rýchlo prevedie Dockerom, zoznámi vás s jeho základnými konceptmi a poskytne praktický príklad, ktorý vám pomôže začať s kontajnerizáciou vašej aplikácie.

## Základné koncepty Dockeru

Predtým, ako začnete prakticky, je dôležité pochopiť niektoré základné koncepty Dockeru:

*   **Obraz (Image):** Obraz je šablóna len na čítanie, ktorá obsahuje všetko potrebné na spustenie aplikácie: kód, runtime prostredie, systémové nástroje, knižnice a závislosti. Podobné obrazu virtuálneho stroja, ale oveľa ľahšie.

*   **Kontajner (Container):** Kontajner je spustená inštancia vytvorená z obrazu. Je to runtime inštancia obrazu, ktorá obsahuje aplikáciu a všetky jej závislosti. Kontajnery sú navzájom izolované a majú vlastný systém súborov, procesy a sieťový priestor.

*   **Docker Hub:** Docker Hub je verejné úložisko obrazov, z ktorého si môžete stiahnuť predpripravené obrazy alebo nahrať svoje vlastné obrazy. Podobné GitHubu, ale špecializované na obrazy Dockeru.

*   **Dockerfile:** Dockerfile je textový súbor, ktorý obsahuje všetky inštrukcie na vytvorenie obrazu Dockeru. Napísaním Dockerfile môžete automatizovať proces vytvárania obrazu.

*   **Docker Compose:** Docker Compose je nástroj na definovanie a spúšťanie viac-kontajnerových aplikácií Dockeru. Umožňuje vám konfigurovať služby aplikácie pomocou súboru YAML a potom spustiť alebo zastaviť všetky služby pomocou jediného príkazu.

## Inštalácia Dockeru

Najprv musíte nainštalovať Docker. Docker poskytuje inštalačné balíčky pre rôzne operačné systémy. Navštívte [oficiálnu webovú stránku Dockeru](https://www.docker.com/get-started/) a postupujte podľa príslušných pokynov na inštaláciu.

Po dokončení inštalácie môžete overiť, či je Docker správne nainštalovaný spustením príkazu `docker --version`.

## Kontajnerizácia jednoduchej aplikácie v jazyku Python

Vytvoríme jednoduchú aplikáciu v jazyku Python a pomocou Dockeru ju kontajnerizujeme.

### 1. Vytvorenie aplikácie v jazyku Python

Vytvorte súbor s názvom `app.py`, ktorý obsahuje nasledujúci kód:

```python
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

Táto jednoduchá aplikácia Flask vráti na koreňovej ceste / reťazec "Hello, Docker!".

2. Vytvorenie súboru requirements.txt

Aplikácia závisí od knižnice Flask, preto musíme vytvoriť súbor requirements.txt na deklarovanie týchto závislostí.

Flask

3. Vytvorenie Dockerfile

Vytvorte súbor s názvom Dockerfile a pridajte nasledujúci obsah:

# Použite oficiálny obraz Pythonu ako základný obraz
FROM python:3.9-slim-buster

# Nastavte pracovný adresár
WORKDIR /app

# Skopírujte súbor requirements.txt do pracovného adresára
COPY requirements.txt .

# Nainštalujte závislosti
RUN pip install --no-cache-dir -r requirements.txt

将应用程序代码复制到工作目录

COPY app.py .

暴露端口 5000

EXPOSE 5000

定义启动命令

CMD ["python", "app.py"]


**Dockerfile 说明:**

*   `FROM python:3.9-slim-buster`:  Špecifikuje základný obraz ako odľahčenú verziu Pythonu 3.9.
*   `WORKDIR /app`:  Nastaví pracovný adresár v kontajneri na `/app`.
*   `COPY requirements.txt .`:  Skopíruje súbor `requirements.txt` z aktuálneho adresára do adresára `/app` v kontajneri.
*   `RUN pip install --no-cache-dir -r requirements.txt`:  Spustí príkaz `pip` v kontajneri na inštaláciu závislostí špecifikovaných v súbore `requirements.txt`. Parameter `--no-cache-dir` môže zmenšiť veľkosť obrazu.
*   `COPY app.py .`:  Skopíruje súbor `app.py` z aktuálneho adresára do adresára `/app` v kontajneri.
*   `EXPOSE 5000`:  Deklaruje, že kontajner bude počúvať na porte 5000.
*   `CMD ["python", "app.py"]`:  Definuje príkaz, ktorý sa má vykonať pri spustení kontajnera.

### 4. Zostavenie Docker obrazu

V adresári obsahujúcom `Dockerfile` spustite nasledujúci príkaz na zostavenie Docker obrazu:

```bash
docker build -t my-python-app .
  • docker build: Príkaz na zostavenie obrazu.
  • -t my-python-app: Priradí obrazu názov (my-python-app).
  • .: Špecifikuje adresár, v ktorom sa nachádza Dockerfile (aktuálny adresár).

Proces zostavovania môže trvať určitý čas, v závislosti od rýchlosti siete a veľkosti závislostí.

5. Spustenie Docker kontajnera

Na spustenie Docker kontajnera použite nasledujúci príkaz:

docker run -d -p 5000:5000 my-python-app
  • docker run: Príkaz na spustenie kontajnera.
  • -d: Spustí kontajner v oddelenom režime (beží na pozadí).
  • -p 5000:5000: Zmapuje port 5000 hostiteľského počítača na port 5000 kontajnera.
  • my-python-app: Špecifikuje názov obrazu, ktorý sa má použiť.

6. Overenie aplikácie

V prehliadači prejdite na adresu http://localhost:5000 a mali by ste vidieť "Hello, Docker!".

7. Zastavenie a odstránenie kontajnera

Na zastavenie kontajnera použite nasledujúci príkaz:

docker stop 

`` Môžete zobraziť pomocou príkazu docker ps.

Na odstránenie kontajnera použite nasledujúci príkaz:

docker rm 

Začíname s Docker Compose

Ak sa vaša aplikácia skladá z viacerých služieb, môžete na ich správu použiť Docker Compose.

1. Vytvorenie súboru docker-compose.yml

Vytvorte súbor s názvom docker-compose.yml a pridajte nasledujúci obsah:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

docker-compose.yml 说明:

  • version: "3.9": Určuje verziu súboru Docker Compose.
  • services: Definuje služby aplikácie.
  • web: Definuje službu s názvom "web".
  • image: my-python-app: Určuje obraz, ktorý služba používa.
  • ports: Definuje mapovanie portov.

2. Spustenie aplikácie

V adresári, ktorý obsahuje súbor docker-compose.yml, spustením nasledujúceho príkazu spustíte aplikáciu:

docker-compose up -d
  • docker-compose up: Príkaz na spustenie aplikácie.
  • -d: Spustí kontajner v oddelenom režime.

3. Zastavenie aplikácie

Na zastavenie aplikácie použite nasledujúci príkaz:

docker-compose down

Osvedčené postupy pre bezpečnosť Docker

Ako je zrejmé z diskusie, bezpečnosť obrazov Docker je dôležitá otázka. Tu je niekoľko osvedčených postupov pre bezpečnosť Docker:

  • Používajte oficiálne obrazy: Ak je to možné, používajte oficiálne poskytované obrazy, ktoré sú zvyčajne skenované a udržiavané z hľadiska bezpečnosti.
  • Skenujte obrazy na zraniteľnosti: Používajte nástroje ako Trivy na skenovanie známych zraniteľností v obrazoch a obrazy včas aktualizujte.
  • Používajte princíp minimálnych privilégií: Vyhnite sa spúšťaniu kontajnerov ako používateľ root.
  • Obmedzte zdroje kontajnera: Používajte cgroups na obmedzenie využitia CPU a pamäte kontajnera.
  • Pravidelne aktualizujte obrazy: Udržiavajte obrazy aktualizované, aby ste opravili bezpečnostné zraniteľnosti.
  • Používajte nástroje na skenovanie bezpečnosti: Nástroje ako Snyk, Clair atď. sa dajú integrovať do vášho CI/CD procesu a automaticky skenovať zraniteľnosti obrazov.

ZáverTento článok poskytuje rýchly úvod do Dockeru, ktorý zahŕňa základné koncepty, kroky inštalácie a jednoduchý príklad kontajnerizácie aplikácie v Pythone. Osvojením si týchto základov môžete začať používať Docker na vytváranie, testovanie a nasadzovanie vašich aplikácií. Pamätajte, že bezpečnosť je prvoradá, vždy dbajte na bezpečnosť Docker obrazov a prijmite vhodné opatrenia na ochranu vašej aplikácie. Hoci je Kubernetes výkonný v rozsiahlej orchestrácii kontajnerov, Docker je v mnohých prípadoch stále jednoduché a efektívne riešenie. Ovládaním Dockeru budete lepšie pripravení čeliť výzvam moderného vývoja a nasadzovania softvéru.

Published in Technology

You Might Also Like