Docker-Container-Tutorial: Vom Anfänger zum Meister
Docker ist eine Open-Source-Containerisierungsplattform, die Anwendungen und ihre Abhängigkeiten in Container packen kann und so eine konsistente Entwicklungs- und Ausführungsumgebung bietet, die überall ausgeführt werden kann. Die Containerisierungstechnologie von Docker wird häufig in den Bereichen DevOps und Cloud Computing eingesetzt und ist heute auch eines der beliebtesten Containerisierungstools.
In diesem Tutorial beginnen wir mit den Grundlagen von Docker-Containern und vertiefen uns schrittweise, bis wir die Hauptaspekte von Docker-Containern beherrschen.
1. Grundkenntnisse über Docker-Container
Docker hat zwei Kernkonzepte: Spiegelung und Container. Ein Image ist eine kompakte, schreibgeschützte Vorlage, die eine Anwendung und ihre Abhängigkeiten enthält. Ein Container ist eine laufende Instanz, die auf der Grundlage eines Images erstellt wird und normalerweise zum Ausführen von Anwendungen oder Testumgebungen verwendet wird.
Führen Sie den Container in Docker über den folgenden Befehl aus:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Darunter stellt OPTIONS die Optionen des Containers dar, IMAGE stellt das Bild dar, auf dem der Container basiert, und COMMAND und ARG stellen dar, was der Container ausführen möchte, und seine Parameter.
Der folgende Befehl führt beispielsweise einen Container basierend auf dem Ubuntu-Image in Docker aus und führt den Befehl /bin/bash aus:
docker run -it ubuntu /bin/bash
docker ps [OPTIONS]
docker ps
FROM ubuntu:latest RUN apt-get update && apt-get install -y nginx
Die obige Docker-Datei definiert ein Image basierend auf der Ubuntu-Linux-Distribution und verwendet den Befehl apt-get, um das Nginx-Paket zu installieren. Anschließend können Sie den folgenden Befehl verwenden, um das Image zu erstellen:
docker build -t my-nginx-image .
wobei my-nginx-image der Name des Images ist und „.“ das aktuelle Verzeichnis des Verzeichnisses darstellt, in dem sich die Docker-Datei befindet befindet.
2. Erweiterte Anwendung des Docker-Containers
Erweiterung des Docker-Containersdocker-compose up -d
Unter anderem bedeutet die Option -d, dass der Container als Hintergrundprozess ausgeführt wird.
Geben Sie den Docker-Container eindocker exec -it [CONTAINER ID] /bin/bash
wobei CONTAINER ID die ID des Containers darstellt. Zum Beispiel:
docker exec -it bb0cd62f8cac /bin/bash
docker run --rm -it -v $(pwd):/app node:latest /bin/bash
Unter anderem bedeutet die Option -rm, dass der Container automatisch gelöscht wird, nachdem der Container gelöscht wurde mit dem Laufen fertig. Die Option -v bedeutet, das aktuelle Verzeichnis ($(pwd)) auf dem Host im Verzeichnis /app im Docker-Container bereitzustellen. node:latest ist das Docker-Image und führt den Befehl /bin/bash aus. Docker-Container können Anwendungen und Systeme vor böswilligen Angriffen schützen und gleichzeitig eine bessere Betriebssicherheit bieten. Hier einige Vorschläge zum Schutz von Docker-Containern:
Es sollte das neueste Docker-Image verwendet werden.version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine"
wobei Version 3 die Version des Docker Compose-Dateiformats ist. Der Dienst definiert die Dienste, die verwaltet werden müssen, einschließlich Web und Redis. Unter anderem verwendet Web die Build-Definition, um das aktuelle Verzeichnis als Build-Kontext zu verwenden, und Redis verwendet das Image, um das Redis-Image vom Docker Hub abzurufen.
Kubernetes ist ein beliebtes Container-Orchestrierungssystem, das Docker-Container automatisch verwaltet. Hier ist ein Beispiel für die Container-Orchestrierung mit Kubernetes:
apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: replicas: 3 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-container image: my-image:latest ports: - containerPort: 8080
Diese Kubernetes-Manifestdatei definiert eine Bereitstellung mit dem Namen „my-deployment“ und führt drei Replikate aus. Außerdem wird ein Container mit dem Namen „my-container“ definiert, das Image „my-image:latest“ verwendet und der Dienst auf Port 8080 verfügbar gemacht.
Das obige ist der detaillierte Inhalt vonWas lehrt Docker-Container?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!