- Mit Docker können Sie Anwendungen mit ihren Abhängigkeiten verpacken und so Portabilität und Konsistenz gewährleisten.
- Container werden aus bereits vorhandenen Docker-Images erstellt oder mithilfe einer Docker-Datei angepasst.
- Die Containerausführung kann mithilfe von Parametern wie Volumes, Umgebungsvariablen und Portzuordnung angepasst werden.
- Docker Compose und andere Orchestrierungstools helfen bei der Verwaltung von Containern in komplexen Umgebungen.
Docker ist zu einem der wichtigsten Tools bei der Entwicklung und Bereitstellung moderner Anwendungen geworden.. Die Fähigkeit, isolierte und konsistente Umgebungen zu erstellen, ermöglicht es Entwicklern, zu arbeiten, ohne sich um typische Konfigurationsprobleme zwischen verschiedenen Systemen kümmern zu müssen.
In dieser Anleitung erfahren Sie Schritt für Schritt und im Detail, wie Sie einen Docker-Container von Grund auf neu erstellen.. Wir behandeln alles von der Grundinstallation bis zur erweiterten Docker Compose-Implementierung, einschließlich der Erstellung benutzerdefinierter Images, der Verwendung von Volumes, der Verwaltung laufender Container und bewährter Methoden zur Optimierung Ihrer Arbeitsumgebung.
Was ist ein Docker-Container und warum wird er verwendet?
Ein Docker-Container ist eine leichte und portable Einheit, die eine Anwendung mit allen ihren Abhängigkeiten enthält.. Im Gegensatz zu einer virtuellen Maschine, die ein vollständiges Betriebssystem enthält, teilen sich Container den Kernel des Host-Betriebssystems, was sie viel schneller und effizienter macht.
Dank Docker können Sie Ihre Anwendung in verschiedenen Umgebungen entwickeln, testen und bereitstellen, ohne sich über die Unterschiede zwischen ihnen Gedanken machen zu müssen.. Diese Funktion macht es zu einer idealen Lösung sowohl für Produktionsumgebungen als auch für lokale Tests und Entwicklungen.
Voraussetzungen für die Verwendung von Docker
- Unterstütztes Betriebssystem: Ubuntu, Debian, Fedora, CentOS, macOS oder Windows.
- Zugriff auf Superuser-Berechtigungen (Wurzel oder sudo), um Docker zu installieren und auszuführen.
- Internet-Anschluss um offizielle Bilder vom Docker Hub herunterzuladen.
Docker installieren
Die Installation von Docker ist normalerweise unkompliziert. Unter Ubuntu können Sie es mit diesen installieren Befehle:
sudo apt update sudo apt installiere docker-ce docker-ce-cli containerd.io
Damit Docker beim Einschalten Ihres Systems automatisch gestartet wird, können Sie es wie folgt ausführen::
sudo systemctl aktiviere Docker sudo systemctl aktiviere Containerd
Überprüfen der Installation
Nach der Installation können Sie mit dem folgenden Befehl überprüfen, ob Docker betriebsbereit ist:
docker run hallo-world
Mit diesem Befehl wird ein Testbild heruntergeladen und eine Meldung angezeigt, die bestätigt, dass alles ordnungsgemäß funktioniert.
Erstellen eines Containers: Die Grundlagen
Zum Erstellen eines Containers benötigen Sie ein Docker-Image, ein Paket mit allen Komponenten, die Ihre Anwendung benötigt. Bilder können vom Docker Hub heruntergeladen oder manuell erstellt werden.
Um beispielsweise einen einfachen Nginx-Server einzurichten, können Sie Folgendes verwenden:
docker run --name myweb -p 8080:80 -d nginx
Mit dieser Anweisung:
- –Name meiner Website: gibt dem Container einen Namen.
- -p 8080:80: Leitet Host-Port 8080 auf Container-Port 80 um.
- -d: führt den Container im Hintergrund aus.
Erstellen benutzerdefinierter Bilder mit Dockerfile
Mit einem Dockerfile können Sie Schritt für Schritt benutzerdefinierte Bilder erstellen. Jede Anweisung in der Datei fügt dem endgültigen Bild eine neue Ebene hinzu. Hier ist ein einfaches Beispiel:
VON Ubuntu:latest WORKDIR /app KOPIEREN. . Führen Sie apt-get update und apt-get install -y curl aus. CMD
Diese Datei bewirkt Folgendes:
- AB: Verwenden Sie die neueste Version von Ubuntu als Basis.
- ARBEITSVERZEICHNIS: legt das Arbeitsverzeichnis fest.
- COPY: kopiert Dateien vom Host in den Container.
- RENNE : installiert das Curl-Paket.
- CMD: definiert den Standardbefehl beim Ausführen des Containers.
Um das Image mit diesem Dockerfile zu erstellen, können Sie sich auf die Anleitung unter beziehen. Erstellen Sie benutzerdefinierte Bilder mit Dockerfile.
Ausführen eines Containers aus Ihrem eigenen Image
Sobald das Image erstellt ist, können Sie Ihre Anwendung mit Folgendem starten:
docker run --name Beispiel -p 8080:80 meinProjekt
So erstellen Sie aus dem gerade erstellten Image einen Container..
Docker-Containerverwaltung
Docker bietet mehrere Befehle zur Verwaltung Ihrer Container. Zu den nützlichsten gehören:
docker ps: listet laufende Container auf.docker ps -a: zeigt alle Container an, auch die angehaltenen.docker stop nombre_contenedor: stoppt einen Container.docker rm nombre_contenedor: löscht einen Container.
Datenpersistenz: Volumes in Docker
Standardmäßig gehen in einem Container gespeicherte Daten verloren, wenn dieser gelöscht wird. Um persistente Daten zu erhalten, ist es wichtig, Volumes zu mounten. Durch die Verwendung von Volumes wird sichergestellt, dass die Daten das Löschen des Containers überstehen und containerübergreifend genutzt werden können.
Beispiel mit Bind-Typ-Volume:
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Schlüssel -v $PWD/data:/var/lib/mysql mysql:8.0
Sie können auch Docker-verwaltete Volumes verwenden:
Docker-Volume erstellen MySQL-Daten Docker ausführen -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Schlüssel -v MySQL-Daten:/var/lib/MySQL MySQL:8.0
Umgebungsvariablen
Mit Docker können Sie Umgebungsvariablen konfigurieren, die dabei helfen, das Verhalten von Containern zu parametrisieren.. Zum Beispiel:
docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=store mysql:8.0
Ressourcenzuweisung
Sie können die CPU- und Speichernutzung eines Containers begrenzen. Dies ist nützlich, um zu verhindern, dass ein einzelner alle Systemressourcen verbraucht:
docker run --cpus=0.5 --memory=512m meinBild
Grundlegende Orchestrierung mit Docker Compose
Docker Compose vereinfacht die Verwaltung mehrerer Container. Definieren Sie alle erforderlichen Dienste in einer YAML-Datei und führen Sie sie dann mit einem einfachen Befehl aus. Weitere Informationen zum Erstellen von Containern in Docker mit Docker Compose finden Sie unter Docker Compose verwenden.
Einfaches docker-compose.yml-Beispiel für MySQL:
Version: „3“ Dienste: MySQL: Image: MySQL: 8.0 Ports: – 3306:3306 Umgebung: – MYSQL_ROOT_PASSWORD=Root – MYSQL_DATABASE=Projekt – MYSQL_USER=Benutzer – MYSQL_PASSWORD=Schlüssel Volumes: – MySQL_Data:/var/lib/mysql Volumes: MySQL_Data:
So heben Sie die Dienste auf:
docker-komponieren -d
Best Practices bei der Verwendung von Docker
Damit Ihre Images und Container effizient, sicher und leicht zu warten bleiben, befolgen Sie diese Empfehlungen::
- Verwenden Sie nach Möglichkeit offizielle Bilder, da sie geprüft und optimiert werden.
- Halten Sie Ihre Behälter leicht Verwenden Sie kleine Basisbilder und entfernen Sie unnötige Dateien nach der Installation der Pakete.
- Führen Sie keine Prozesse als Root aus, erstellt einen bestimmten Benutzer innerhalb des Containers.
- Verwenden Sie Volumes zum Speichern persistenter Daten und vermeiden Sie Verluste durch Ausfälle oder Updates.
- Konfigurieren Sie vertrauliche Variablen als Geheimnisse mithilfe von Umgebungen oder ENV-Dateien, um ihre Offenlegung im Quellcode zu verhindern.
Praktisches Beispiel: Bereitstellung von Pandora FMS mit Docker
Eine echte Anwendung mit mehreren Containern ist Pandora FMS. Wir können sowohl den Server als auch die Datenbank mit nur zwei Befehlen bereitstellen, wenn wir Docker verwenden.
Zuerst richten wir die Datenbank ein:
docker run --name Pandora_DB -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pandora -e MYSQL_DATABASE=pandora -e MYSQL_USER=pandora -e MYSQL_PASSWORD=pandora -v mysqlvol:/var/lib/mysql -d rameijeiras/pandorafms-percona-base
Anschließend wird der Anwendungsserver gestartet, der auf die Host-IP zeigt:
docker run --name Pandora_app --rm -p 8081:80 -e DBHOST=127.0.0.1 -e DBNAME=pandora -e DBUSER=pandora -e DBPASS=pandora -e DBPORT=3306 -ti rameijeiras/pandorafms-community:740
Damit hätten Sie innerhalb weniger Minuten eine funktionsfähige Instanz von Pandora FMS..
Docker ist ein vielseitiges Tool, das die Art und Weise verändert, wie Anwendungen bereitgestellt und verwaltet werden. Von der Bereitstellung einfacher Entwicklungscontainer bis hin zu komplexen Umgebungen mit mehreren Diensten verbessert ihre Verwendung die Effizienz, reduziert Kompatibilitätsprobleme und erleichtert die Skalierung Ihrer Projekte. Die Beherrschung von Docker ist eine Investition, die bei der Verwaltung Ihrer Bereitstellungen und Anwendungsentwicklung einen Unterschied machen kann.
Leidenschaftlicher Autor über die Welt der Bytes und der Technologie im Allgemeinen. Ich liebe es, mein Wissen durch Schreiben zu teilen, und genau das werde ich in diesem Blog tun und Ihnen die interessantesten Dinge über Gadgets, Software, Hardware, technologische Trends und mehr zeigen. Mein Ziel ist es, Ihnen dabei zu helfen, sich auf einfache und unterhaltsame Weise in der digitalen Welt zurechtzufinden.
