Úvodní příručka k Dockeru: Rychlý start s kontejnerizací vaší aplikace

2/18/2026
6 min read

Úvodní příručka k Dockeru: Rychlý start s kontejnerizací vaší aplikace

Docker se stal nepostradatelnou součástí moderního vývoje a nasazování softwaru. Navzdory ohromnému množství diskusí kolem Kubernetes je Docker stále preferovaným nástrojem pro mnoho společností pro vytváření, testování a nasazování aplikací. Tento článek vás provede rychlým úvodem do Dockeru, seznámí vás s jeho klíčovými koncepty a poskytne praktický příklad, který vám pomůže začít s kontejnerizací vaší aplikace.

Klíčové koncepty Dockeru

Před zahájením praktických cvičení je důležité porozumět některým klíčovým konceptům Dockeru:

  • Image (Obraz): Obraz je šablona jen pro čtení, která obsahuje vše, co je potřeba ke spuštění aplikace: kód, běhové prostředí, systémové nástroje, knihovny a závislosti. Podobá se obrazu virtuálního stroje, ale je mnohem lehčí.

  • Container (Kontejner): Kontejner je spuštěná instance vytvořená z obrazu. Je to běhová instance obrazu, která obsahuje aplikaci a všechny její závislosti. Kontejnery jsou navzájem izolované a mají vlastní souborový systém, procesy a síťový prostor.

  • Docker Hub: Docker Hub je veřejné úložiště obrazů, ze kterého si můžete stáhnout předem vytvořené obrazy nebo nahrát své vlastní obrazy. Podobá se GitHubu, ale je specializovaný na obrazy Dockeru.

  • Dockerfile: Dockerfile je textový soubor, který obsahuje všechny instrukce pro sestavení obrazu Dockeru. Napsáním Dockerfile můžete automatizovat proces vytváření obrazu.

  • Docker Compose: Docker Compose je nástroj pro definování a spouštění vícekontejnerových aplikací Dockeru. Umožňuje vám konfigurovat služby aplikace pomocí souboru YAML a poté spouštět nebo zastavovat všechny služby pomocí jediného příkazu.

Instalace Dockeru

Nejprve musíte nainstalovat Docker. Docker nabízí instalační balíčky pro různé operační systémy. Navštivte oficiální web Dockeru a postupujte podle příslušných pokynů k instalaci.

Po dokončení instalace můžete ověřit, zda je Docker správně nainstalován, spuštěním příkazu docker --version.

Kontejnerizace jednoduché Python aplikace

Vytvoříme jednoduchou Python aplikaci a pomocí Dockeru ji kontejnerizujeme.

1. Vytvoření Python aplikace

Vytvořte soubor s názvem app.py s následujícím kódem:

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')

Tato jednoduchá aplikace Flask vrátí "Hello, Docker!" na kořenové cestě /.

2. Vytvoření souboru requirements.txt

Aplikace závisí na knihovně Flask, proto musíme vytvořit soubor requirements.txt pro deklaraci těchto závislostí.

Flask

3. Vytvoření Dockerfile

Vytvořte soubor s názvem Dockerfile a přidejte následující obsah:

# Použijte oficiální obraz Pythonu jako základní obraz
FROM python:3.9-slim-buster

# Nastavte pracovní adresář
WORKDIR /app

# Zkopírujte soubor requirements.txt do pracovního adresáře
COPY requirements.txt .

# Nainstalujte 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: 指定基础镜像为 Python 3.9 的精简版。 - Určuje základní image jako odlehčenou verzi Pythonu 3.9.
  • WORKDIR /app: 设置容器内的工作目录为 /app。 - Nastavuje pracovní adresář uvnitř kontejneru na /app.
  • COPY requirements.txt .: 将当前目录下的 requirements.txt 文件复制到容器的 /app 目录。 - Kopíruje soubor requirements.txt z aktuálního adresáře do adresáře /app v kontejneru.
  • RUN pip install --no-cache-dir -r requirements.txt: 在容器内运行 pip 命令安装 requirements.txt 文件中指定的依赖项。 --no-cache-dir 参数可以减小镜像的大小。 - Spustí příkaz pip uvnitř kontejneru pro instalaci závislostí určených v souboru requirements.txt. Parametr --no-cache-dir může zmenšit velikost image.
  • COPY app.py .: 将当前目录下的 app.py 文件复制到容器的 /app 目录。 - Kopíruje soubor app.py z aktuálního adresáře do adresáře /app v kontejneru.
  • EXPOSE 5000: 声明容器将监听 5000 端口。 - Deklaruje, že kontejner bude naslouchat na portu 5000.
  • CMD ["python", "app.py"]: 定义容器启动时执行的命令。 - Definuje příkaz, který se má spustit při spuštění kontejneru.

4. 构建 Docker 镜像

在包含 Dockerfile 的目录下,运行以下命令构建 Docker 镜像: - V adresáři obsahujícím Dockerfile spusťte následující příkaz pro sestavení Docker image:

docker build -t my-python-app .
  • docker build: 构建镜像的命令。 - Příkaz pro sestavení image.
  • -t my-python-app: 为镜像指定一个名称 (my-python-app)。 - Určuje název pro image (my-python-app).
  • .: 指定 Dockerfile 所在的目录 (当前目录)。 - Určuje adresář, ve kterém se nachází Dockerfile (aktuální adresář).

构建过程可能需要一些时间,取决于网络速度和依赖项的大小。 - Proces sestavení může trvat nějakou dobu, v závislosti na rychlosti sítě a velikosti závislostí.

5. 运行 Docker 容器

使用以下命令运行 Docker 容器: - Spusťte Docker kontejner pomocí následujícího příkazu:

docker run -d -p 5000:5000 my-python-app
  • docker run: 运行容器的命令。 - Příkaz pro spuštění kontejneru.
  • -d: 以分离模式运行容器 (在后台运行)。 - Spustí kontejner v odděleném režimu (běží na pozadí).
  • -p 5000:5000: 将宿主机的 5000 端口映射到容器的 5000 端口。 - Mapuje port 5000 hostitele na port 5000 kontejneru.
  • my-python-app: 指定要使用的镜像名称。 - Určuje název image, která se má použít.

6. 验证应用程序

在浏览器中访问 http://localhost:5000,你应该能看到 "Hello, Docker!"。 - V prohlížeči přejděte na http://localhost:5000 a měli byste vidět "Hello, Docker!".

7. 停止和删除容器

使用以下命令停止容器: - Zastavte kontejner pomocí následujícího příkazu:

docker stop 

`` 可以通过 docker ps 命令查看。 - Můžete zobrazit pomocí příkazu docker ps.

使用以下命令删除容器: - Odstraňte kontejner pomocí následujícího příkazu:

docker rm 

Docker Compose 入门

如果你的应用程序由多个服务组成,可以使用 Docker Compose 来管理它们。 - Pokud se vaše aplikace skládá z více služeb, můžete je spravovat pomocí Docker Compose.

1. 创建 docker-compose.yml 文件

创建一个名为 docker-compose.yml 的文件,并添加以下内容: - Vytvořte soubor s názvem docker-compose.yml a přidejte následující obsah:

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

docker-compose.yml 说明:

  • version: "3.9": Určuje verzi souboru Docker Compose.
  • services: Definuje služby aplikace.
  • web: Definuje službu s názvem "web".
  • image: my-python-app: Určuje image, kterou služba používá.
  • ports: Definuje mapování portů.

2. Spuštění aplikace

V adresáři obsahujícím soubor docker-compose.yml spusťte následující příkaz pro spuštění aplikace:

docker-compose up -d
  • docker-compose up: Příkaz pro spuštění aplikace.
  • -d: Spustí kontejner v odděleném režimu.

3. Zastavení aplikace

Pro zastavení aplikace použijte následující příkaz:

docker-compose down

Docker Bezpečnostní osvědčené postupy

Jak je patrné z diskuse, bezpečnost Docker image je důležitá otázka. Níže jsou uvedeny některé osvědčené postupy pro zabezpečení Dockeru:

  • Používejte oficiální image: Pokud je to možné, používejte oficiálně poskytované image, které jsou obvykle skenovány a udržovány z hlediska bezpečnosti.
  • Skenujte image na zranitelnosti: Používejte nástroje jako Trivy ke skenování známých zranitelností v image a image včas aktualizujte.
  • Používejte princip nejmenších privilegií: Vyhněte se spouštění kontejnerů jako uživatel root.
  • Omezte zdroje kontejneru: Používejte cgroups k omezení využití CPU a paměti kontejneru.
  • Pravidelně aktualizujte image: Udržujte image aktualizované, abyste opravili bezpečnostní chyby.
  • Používejte nástroje pro skenování zabezpečení: Nástroje jako Snyk, Clair atd. lze integrovat do vašeho CI/CD procesu a automaticky skenovat image na zranitelnosti.

ZávěrTento článek poskytuje rychlý úvod do Dockeru, který zahrnuje základní koncepty, kroky instalace a jednoduchý příklad kontejnerizace aplikace v Pythonu. Osvojením si těchto základů můžete začít používat Docker k sestavování, testování a nasazování vašich aplikací. Pamatujte, že bezpečnost je zásadní, vždy věnujte pozornost bezpečnosti Docker obrazů a přijměte vhodná opatření k ochraně vašich aplikací. Ačkoli je Kubernetes výkonný v oblasti rozsáhlé orchestrace kontejnerů, Docker zůstává v mnoha scénářích jednoduchým a efektivním řešením. Zvládnutím Dockeru budete lépe připraveni čelit výzvám moderního vývoje a nasazování softwaru.

Published in Technology

You Might Also Like

Jak používat technologie cloud computingu: Kompletní průvodce pro vytvoření vaší první cloudové infrastrukturyTechnology

Jak používat technologie cloud computingu: Kompletní průvodce pro vytvoření vaší první cloudové infrastruktury

Jak používat technologie cloud computingu: Kompletní průvodce pro vytvoření vaší první cloudové infrastruktury Úvod S ur...

Varování! Otec Claude Code říká: Za měsíc bez režimu plánování zmizí titul softwarového inženýraTechnology

Varování! Otec Claude Code říká: Za měsíc bez režimu plánování zmizí titul softwarového inženýra

Varování! Otec Claude Code říká: Za měsíc bez režimu plánování zmizí titul softwarového inženýra Nedávno se v technolog...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

Top 10 AI agentů v roce 2026: Analýza klíčových prodejních bodůTechnology

Top 10 AI agentů v roce 2026: Analýza klíčových prodejních bodů

Top 10 AI agentů v roce 2026: Analýza klíčových prodejních bodů Úvod S rychlým rozvojem umělé inteligence se AI agenti (...

Doporučení 10 nejlepších AI nástrojů pro rok 2026: Uvolnění skutečného potenciálu umělé inteligenceTechnology

Doporučení 10 nejlepších AI nástrojů pro rok 2026: Uvolnění skutečného potenciálu umělé inteligence

Doporučení 10 nejlepších AI nástrojů pro rok 2026: Uvolnění skutečného potenciálu umělé inteligence V dnešní době rychlé...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 V rychle se rozvíjející oblasti cloud computingu je Amazon Web Services (AWS) lídrem, který nabí...