1. Der Unterschied zwischen einem benutzerdefinierten Spiegelbild und einem Container 2. Übung 1. Erstellen Sie einen benutzerdefinierten Spiegel auf Basis von Ubuntu und installieren Sie Nginx. 2. Konfigurieren Sie den Redis-Container. 3. Konfigurieren Sie MySQL. 4. Konfigurieren Sie den CentOS-Spiegel
1. Benutzerdefinierter Spiegel
Docker ist eine beliebte Containerisierungsplattform, die Entwicklern hilft, Anwendungen und ihre Abhängigkeiten in einen eigenständigen Container zu packen. Solche Container können problemlos in verschiedenen Umgebungen bereitgestellt und ausgeführt werden, wodurch die Portabilität und Konsistenz der Anwendungen gewährleistet wird.
Erstellen Sie zunächst einen leeren Ordner und erstellen Sie darin eine Datei mit dem Namen Dockerfile. Öffnen Sie die Docker-Datei und fügen Sie den folgenden Inhalt als Basisvorlage hinzu:
# Basisbild als Ausgangspunkt verwenden VON base_image # Dateien zum Bild hinzufügen/kopieren Quell-Ziel kopieren # Führen Sie den Befehl aus, um Abhängigkeiten zu installieren Führen Sie den Befehl aus
Ersetzen Sie oben „base_image“ durch das Basis-Image Ihrer Wahl, „Quelle“ und „Ziel“ durch den Pfad zu der Datei oder dem Verzeichnis, die Sie kopieren möchten, und „command“ durch den Befehl, den Sie ausführen möchten. Fügen Sie als Nächstes je nach Bedarf weitere Anweisungen hinzu. Verwenden Sie den Befehl RUN, um Softwarepakete zu installieren, das System zu aktualisieren usw. Verwenden Sie den ENV-Befehl, um Umgebungsvariablen festzulegen, verwenden Sie den EXPOSE-Befehl, um die Portnummer zu deklarieren, die der Container abhört usw.
Nachdem Sie die Docker-Datei fertiggestellt haben, können Sie den folgenden Befehl verwenden, um das benutzerdefinierte Image zu erstellen:
docker build -t Bildname .
Unter anderem wird die Option -t verwendet, um den Namen und die Bezeichnung des Bildes anzugeben, und . gibt das aktuelle Verzeichnis an, in dem sich die Docker-Datei befindet. Nachdem der Build abgeschlossen ist, verwenden Sie den folgenden Befehl, um die Liste der erstellten Images anzuzeigen:
Docker-Bilder
Der Unterschied zwischen Bildern und Containern
Ein Docker-Image besteht aus einer Reihe schreibgeschützter Image-Ebenen, von denen jede Änderungen an einem oder mehreren Dateisystemen enthält. Bei diesen Änderungen kann es sich um das Hinzufügen, Löschen oder Ändern von Dateien handeln. Spiegelnde Schichten werden gestapelt, wobei jede Schicht auf der vorherigen aufbaut. Diese hierarchische Struktur macht die Wiederverwendung und gemeinsame Nutzung von Bildern effizienter.
Wenn Sie ein Bild zum Erstellen eines Containers verwenden, erstellt Docker eine beschreibbare Containerebene über der Bildebene. Über die Containerschicht können zur Laufzeit Änderungen am Dateisystem vorgenommen werden, beispielsweise das Hinzufügen, Ändern oder Löschen von Dateien. Diese Änderungen wirken sich nur auf die Containerebene aus und verändern nicht die ursprüngliche Bildebene. Dieser Schichtaufbau ermöglicht eine leichte und schnelle Inbetriebnahme von Containern.
2. Üben und üben
Docker kann zum einfachen Abrufen, Konfigurieren und Ausführen von Redis-, MySQL- und CentOS-Images auf Linux-Systemen verwendet werden. Docker bietet eine bequeme und portable Möglichkeit, verschiedene Dienste und Anwendungen bereitzustellen und auszuführen und stellt so die Portabilität und Konsistenz von Anwendungen sicher.
1. Erstellen Sie ein benutzerdefiniertes Image basierend auf Ubuntu und installieren Sie Nginx
# Basisbild als Ausgangspunkt verwenden VON ubuntu:latest # Apt-Quelle aktualisieren und Nginx installieren FÜHREN Sie apt-get update && apt-get install -y nginx aus # Port 80 freigeben EXPOSE 80 # Starten Sie den Nginx-Dienst CMD ["nginx", "-g", "daemon off;"]
Verwenden Sie im Verzeichnis, das die Docker-Datei enthält, den folgenden Befehl, um das Image zu erstellen
docker build -t my-nginx .
Dadurch wird ein Image namens my-nginx basierend auf der Docker-Datei erstellt. Nachdem der Build abgeschlossen ist, können Sie das Image mit dem folgenden Befehl ausführen:
docker run -d -p 80:80 my-nginx
Führen Sie einen Container basierend auf dem my-nginx-Image im Hintergrund aus und ordnen Sie den Port 80 des Hosts dem Port 80 des Containers zu. Besuchen Sie http://localhost in Ihrem Browser , um die Nginx-Willkommensseite anzuzeigen.
2. Konfigurieren Sie den Redis-Container
Stellen Sie sicher, dass Docker auf Ihrem Linux-System installiert ist. Mit dem folgenden Befehl können Sie prüfen, ob Docker installiert ist:
Docker-Version
Rufen Sie das Redis-Image vom Docker Hub ab
Docker Pull Redis
Verwenden Sie den folgenden Befehl, um den Redis-Container auszuführen: Ein Redis-Container mit dem Namen my-redis wird im Hintergrund ausgeführt und Port 6379 des Hostcomputers wird Port 6379 des Containers zugeordnet.
docker run -d --name my-redis -p 6379:6379 redis
Verwenden Sie den Redis-Client, um eine Verbindung zum Redis-Container herzustellen. Verwenden Sie beispielsweise den folgenden Befehl, um eine Verbindung zum Redis-Container herzustellen:
redis-cli -h localhost -p 6379
3. Konfigurieren Sie MySQL
Verwenden Sie den folgenden Befehl, um das MySQL-Image vom Docker Hub abzurufen:
Docker zieht MySQL
Verwenden Sie den folgenden Befehl, um den MySQL-Container auszuführen:
docker run -d --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql
Ein MySQL-Container namens my-mysql wird im Hintergrund ausgeführt und Port 3306 des Host-Computers wird Port 3306 des Containers zugeordnet. Das MySQL-Root-Benutzerkennwort wird mit der Option -e als Kennwort angegeben. Verwenden Sie den MySQL-Client, um eine Verbindung zum MySQL-Container herzustellen. Verwenden Sie beispielsweise den folgenden Befehl, um eine Verbindung zum MySQL-Container herzustellen:
mysql -h localhost -P 3306 -u root -p
Geben Sie das zuvor festgelegte Passwort ein, um erfolgreich eine Verbindung zum MySQL-Container herzustellen.
4. Konfigurieren Sie das CentOS-Image
Rufen Sie das CentOS-Image mit dem folgenden Befehl vom Docker Hub ab:
Docker zieht Centos
Verwenden Sie den folgenden Befehl, um den CentOS-Container auszuführen:
docker run -it --name my-centos centos
führt einen CentOS-Container namens my-centos im interaktiven Modus aus. Innerhalb eines CentOS-Containers können verschiedene Operationen und Befehle ausgeführt werden. Zum Beispiel das Installieren von Paketen, das Ändern von Konfigurationsdateien usw.
# Installieren Sie das Paket im Container Lecker, installiere <Paketname> # Ändern Sie die Konfigurationsdatei vi <Pfad zur Datei>
Nachdem Sie die erforderlichen Vorgänge abgeschlossen haben, können Sie den CentOS-Container mit dem folgenden Befehl beenden und stoppen:
Ausfahrt Docker stoppt My-Centos