Docker-Einführungsleitfaden: Schnellstart zur Containerisierung Ihrer Anwendung

2/18/2026
7 min read
```html

Docker-Einführungsleitfaden: Schnellstart zur Containerisierung Ihrer Anwendung

Docker ist zu einem unverzichtbaren Bestandteil der modernen Softwareentwicklung und -bereitstellung geworden. Obwohl die Diskussionen rund um Kubernetes allgegenwärtig sind, ist Docker immer noch das bevorzugte Werkzeug vieler Unternehmen zum Erstellen, Testen und Bereitstellen von Anwendungen. Dieser Artikel führt Sie schnell in Docker ein, erläutert die Kernkonzepte und bietet ein praktisches Beispiel, das Ihnen den Einstieg in die Containerisierung Ihrer Anwendung erleichtert. ## Docker-Kernkonzepte Bevor Sie mit der Praxis beginnen, ist es wichtig, einige der Kernkonzepte von Docker zu verstehen: * **Image (Abbild):** Ein Image ist eine schreibgeschützte Vorlage, die alles enthält, was zum Ausführen einer Anwendung benötigt wird: Code, Laufzeitumgebung, Systemtools, Bibliotheken und Abhängigkeiten. Ähnlich wie ein virtuelles Maschinen-Image, aber leichter. * **Container:** Ein Container ist eine laufende Instanz, die aus einem Image erstellt wurde. Es ist eine Laufzeitinstanz eines Images, die die Anwendung und alle ihre Abhängigkeiten enthält. Container sind voneinander isoliert und verfügen über ein eigenes Dateisystem, Prozesse und einen eigenen Netzwerkbereich. * **Docker Hub:** Docker Hub ist eine öffentliche Image-Registry, aus der Sie vorgefertigte Images herunterladen oder Ihre eigenen Images hochladen können. Ähnlich wie GitHub, aber speziell für Docker-Images. * **Dockerfile:** Eine Dockerfile ist eine Textdatei, die alle Anweisungen zum Erstellen eines Docker-Images enthält. Durch das Schreiben einer Dockerfile können Sie den Prozess der Image-Erstellung automatisieren. * **Docker Compose:** Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Es ermöglicht Ihnen, die Dienste der Anwendung mithilfe einer YAML-Datei zu konfigurieren und dann alle Dienste mit einem einzigen Befehl zu starten oder zu stoppen. ## Docker-Installation Zuerst müssen Sie Docker installieren. Docker bietet Installationspakete für verschiedene Betriebssysteme. Besuchen Sie die [offizielle Docker-Website](https://www.docker.com/get-started/) und befolgen Sie die entsprechenden Anweisungen zur Installation. Nach der Installation können Sie mit dem Befehl `docker --version` überprüfen, ob Docker korrekt installiert wurde. ## Containerisierung einer einfachen Python-Anwendung Wir erstellen eine einfache Python-Anwendung und containerisieren sie mit Docker. ### 1. Erstellen der Python-Anwendung Erstellen Sie eine Datei namens `app.py` mit dem folgenden Code: ```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') ``` Diese einfache Flask-Anwendung gibt "Hello, Docker!" auf dem Root-Pfad `/` zurück. ### 2. Erstellen der Datei `requirements.txt` Die Anwendung ist von der Flask-Bibliothek abhängig. Wir müssen eine Datei `requirements.txt` erstellen, um diese Abhängigkeiten zu deklarieren. ``` Flask ``` ### 3. Erstellen der Dockerfile Erstellen Sie eine Datei namens `Dockerfile` und fügen Sie den folgenden Inhalt hinzu: ```dockerfile # Verwenden Sie das offizielle Python-Image als Basis-Image FROM python:3.9-slim-buster # Setzen Sie das Arbeitsverzeichnis WORKDIR /app # Kopieren Sie die Datei requirements.txt in das Arbeitsverzeichnis COPY requirements.txt . # Installieren Sie die Abhängigkeiten 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`: Gibt das Basis-Image als eine schlanke Version von Python 3.9 an. * `WORKDIR /app`: Setzt das Arbeitsverzeichnis innerhalb des Containers auf `/app`. * `COPY requirements.txt .`: Kopiert die Datei `requirements.txt` aus dem aktuellen Verzeichnis in das `/app` Verzeichnis des Containers. * `RUN pip install --no-cache-dir -r requirements.txt`: Führt den `pip` Befehl innerhalb des Containers aus, um die in der Datei `requirements.txt` angegebenen Abhängigkeiten zu installieren. Der Parameter `--no-cache-dir` kann die Größe des Images reduzieren. * `COPY app.py .`: Kopiert die Datei `app.py` aus dem aktuellen Verzeichnis in das `/app` Verzeichnis des Containers. * `EXPOSE 5000`: Deklariert, dass der Container auf Port 5000 lauschen wird. * `CMD ["python", "app.py"]`: Definiert den Befehl, der beim Start des Containers ausgeführt wird. ### 4. Erstellen des Docker Images Führen Sie im Verzeichnis, das die `Dockerfile` enthält, den folgenden Befehl aus, um das Docker Image zu erstellen: ```bash docker build -t my-python-app . ``` * `docker build`: Der Befehl zum Erstellen des Images. * `-t my-python-app`: Weist dem Image einen Namen zu (`my-python-app`). * `.`: Gibt das Verzeichnis an, in dem sich die Dockerfile befindet (aktuelles Verzeichnis). Der Erstellungsprozess kann einige Zeit dauern, abhängig von der Netzwerkgeschwindigkeit und der Größe der Abhängigkeiten. ### 5. Ausführen des Docker Containers Verwenden Sie den folgenden Befehl, um den Docker Container auszuführen: ```bash docker run -d -p 5000:5000 my-python-app ``` * `docker run`: Der Befehl zum Ausführen des Containers. * `-d`: Führt den Container im Hintergrund aus (detached mode). * `-p 5000:5000`: Ordnet den Port 5000 des Hostrechners dem Port 5000 des Containers zu. * `my-python-app`: Gibt den Namen des zu verwendenden Images an. ### 6. Überprüfen der Anwendung Greifen Sie im Browser auf `http://localhost:5000` zu. Sie sollten "Hello, Docker!" sehen. ### 7. Stoppen und Löschen des Containers Verwenden Sie den folgenden Befehl, um den Container zu stoppen: ```bash docker stop ``` `` kann mit dem Befehl `docker ps` eingesehen werden. Verwenden Sie den folgenden Befehl, um den Container zu löschen: ```bash docker rm ``` ## Docker Compose 入门 Wenn Ihre Anwendung aus mehreren Diensten besteht, können Sie Docker Compose verwenden, um diese zu verwalten. ### 1. Erstellen der Datei `docker-compose.yml` Erstellen Sie eine Datei namens `docker-compose.yml` und fügen Sie den folgenden Inhalt hinzu: ```yaml version: "3.9" services: web: image: my-python-app ports: - "5000:5000" ``` **docker-compose.yml 说明:** * `version: "3.9"`: Gibt die Version der Docker Compose-Datei an. * `services`: Definiert die Services der Anwendung. * `web`: Definiert einen Service namens "web". * `image: my-python-app`: Gibt das Image an, das der Service verwendet. * `ports`: Definiert die Portzuordnungen. ### 2. Anwendung starten Führen Sie im Verzeichnis mit der Datei `docker-compose.yml` den folgenden Befehl aus, um die Anwendung zu starten: ```bash docker-compose up -d ``` * `docker-compose up`: Befehl zum Starten der Anwendung. * `-d`: Führt den Container im Hintergrund (detached mode) aus. ### 3. Anwendung stoppen Verwenden Sie den folgenden Befehl, um die Anwendung zu stoppen: ```bash docker-compose down ``` ## Docker Sicherheits-Best Practices Wie aus der Diskussion hervorgeht, ist die Sicherheit von Docker-Images ein wichtiges Thema. Hier sind einige Docker Sicherheits-Best Practices: * **Offizielle Images verwenden:** Verwenden Sie nach Möglichkeit die offiziell bereitgestellten Images, da diese in der Regel auf Sicherheit gescannt und gewartet werden. * **Images auf Schwachstellen scannen:** Verwenden Sie Tools wie Trivy, um Images auf bekannte Schwachstellen zu scannen und Images rechtzeitig zu aktualisieren. * **Prinzip der minimalen Rechte verwenden:** Vermeiden Sie es, Container als Root-Benutzer auszuführen. * **Container-Ressourcen beschränken:** Verwenden Sie cgroups, um die CPU- und Speichernutzung von Containern zu beschränken. * **Images regelmäßig aktualisieren:** Halten Sie Images auf dem neuesten Stand, um Sicherheitslücken zu beheben. * **Sicherheits-Scan-Tools verwenden:** Tools wie Snyk, Clair usw. können in Ihren CI/CD-Prozess integriert werden, um Images automatisch auf Schwachstellen zu scannen. ## SchlussfolgerungDieser Artikel bietet eine schnelle Einführung in Docker und behandelt die Kernkonzepte, Installationsschritte und ein einfaches Beispiel für die Containerisierung einer Python-Anwendung. Durch das Erlernen dieser Grundlagen können Sie mit dem Erstellen, Testen und Bereitstellen Ihrer Anwendungen mit Docker beginnen. Denken Sie daran, dass Sicherheit von entscheidender Bedeutung ist. Achten Sie stets auf die Sicherheit von Docker-Images und ergreifen Sie geeignete Maßnahmen, um Ihre Anwendungen zu schützen. Obwohl Kubernetes im Bereich der groß angelegten Container-Orchestrierung sehr leistungsfähig ist, bleibt Docker in vielen Szenarien eine einfache und effektive Lösung. Wenn Sie Docker beherrschen, können Sie die Herausforderungen der modernen Softwareentwicklung und -bereitstellung besser bewältigen.
Published in Technology

You Might Also Like