So richten Sie einen Apache-Docker-Container ein

Wenn Sie neu bei Docker und Containern sind, ist das Einrichten des Apache Docker Containers ein ausgezeichneter Einstieg. Das Erstellen einer Anwendung auf Docker ist von großem Nutzen aufgrund seiner leichtgewichtigen Technologie und Sicherheit.

In diesem Tutorial erfahren Sie, wie Sie einen Apache Docker Container unter Ubuntu einrichten. Verwenden Sie dieses Tutorial, um den Einstieg in Docker zu erlernen und zusätzlich einen Apache-Webserver zu erhalten!

Voraussetzungen

Wenn Sie Schritt für Schritt folgen möchten, stellen Sie sicher, dass Sie das folgende haben: Eine Ubuntu 14.04.4 LTS oder neuere Maschine mit Docker gemäß diesem Tutorial installiert. Dieses Tutorial verwendet Ubuntu 18.04.5 LTS mit Docker v19.03.8 und einer öffentlichen IP-Adresse von 13.213.48.113.

Einrichten des Apache Docker Containers

Angenommen, Sie haben Docker bereits installiert, lassen Sie uns zuerst den Apache-Container einrichten. Später erfahren Sie, wie Sie ihn starten können.

Eine der einfachsten Möglichkeiten, einen Apache Docker Container schnell zu starten, besteht darin, ein vorhandenes Container-Image aus dem offiziellen Docker-Register Docker Hub herunterzuladen. In diesem Beispiel werden Sie einen Docker-Container mit dem Namen Apache herunterladen und ausführen.

Mit ein paar Docker-Befehlen läuft innerhalb kürzester Zeit eine Instanz von Apache. Befolgen Sie dazu die untenstehenden Schritte.

Hinweis: Dieses Tutorial behandelt nicht ausführlich die Ausführung von Docker-Befehlen. Um mehr über Docker-Befehle zu erfahren, besuchen Sie die Docker-Befehlszeilen-Dokumentation-Seite.

1. Öffnen Sie ein Terminal auf Ihrem Ubuntu-Rechner.

2. Laden Sie das Docker-Image herunter, das Apache enthält und httpd genannt wird, indem Sie den docker pull-Befehl unten ausführen. Dieser Befehl lädt oder zieht das Apache-Image aus dem Docker-Registry, wie unten gezeigt.

# Zieht die Docker-Images vom Docker-Registry auf Ihren lokalen Rechner.
docker pull httpd

Das folgende Bild zeigt das erwartete Ergebnis beim Ziehen des Bildes von Docker Hub.

Pulling the Apache image from Docker Hub

3. Bestätigen Sie anschließend, dass Sie das Bild heruntergeladen haben, indem Sie den docker images-Befehl unten ausführen, um alle auf Ihrem Computer verfügbaren Bilder aufzulisten.

# Um die Docker-Bilder zu überprüfen
docker images

Wie Sie unten sehen können, haben Sie jetzt ein Docker-Image, das das Bild ist, das Sie von Docker Hub heruntergeladen haben.

Checking the Docker images

Ausführen des Apache-Containers mit dem Docker-Befehl.

Im vorherigen Abschnitt haben Sie das Docker-Image aus dem Docker Hub heruntergeladen. Sie sind nun bereit, einen Container aus diesem Image zu erstellen. Um den Apache-Container auszuführen, müssen Sie den Docker-Befehl wie folgt ausführen:

1. Rufen Sie den docker run-Befehl auf, um einen neuen Container auf Basis Ihres heruntergeladenen Apache Docker-Images zu erstellen.

# Einen neuen Docker-Container namens docker-apache ausführen (--name)
# Den Port 80 des lokalen Computers auf den Port 80 des Containers abbilden (-p 80:80)
# Im Hintergrundmodus (-d)
# Verwendung des Apache-Images
docker run -d --name docker-apache -p 80:80 -d httpd

Der docker run-Befehl gibt dann die eindeutige Container-ID des gerade erstellten Containers zurück. Speichern Sie diese Container-ID in der unten markierten Box für die Zukunft, wenn Sie den Container löschen möchten.

Running a new Docker container using an Apache image

2. Sobald der Apache-Container läuft, überprüfen Sie, ob Sie über Ihren Webbrowser auf die Apache-Webbenutzeroberfläche zugreifen können, indem Sie zu Öffentliche-IP-Adresse:80 navigieren. Wenn Sie dieselbe Nachricht sehen können, wie unten dargestellt, haben Sie Ihren Apache Docker-Container erfolgreich gestartet.

Stellen Sie sicher, dass der Ubuntu 14.04.4 LTS-Rechner einen eingehenden Port 80 im Sicherheitsgruppenbereich zugelassen hat.

Accessing the Apach

3. Schließlich stoppen Sie den Container, wenn Sie ihn nicht mehr benötigen, indem Sie den docker stop Befehl unten ausführen. Dieser Befehl stoppt den Container-Instanz ordnungsgemäß.

# Stoppen Sie den Container mit der ID aaaee64a4512 Stellen Sie sicher, dass Sie den Wert der Container-ID ändern.
# Hinweis: Die Angabe der ersten 12 Zeichen der Container-ID genügt.
docker stop aaaee64a4512

Alternativ können Sie auch einen laufenden Container stoppen, indem Sie seinen Namen im docker stop Befehl angeben (docker stop docker-apache).

Apache Docker-Container aus Docker-Datei ausführen

In dem vorherigen Abschnitt haben Sie gelernt, wie Sie einen Apache Docker-Container ausführen, indem Sie das Standard-httpd Docker-Image ausführen. Was ist, wenn Sie das Basismodell aktualisieren müssen, um verschiedene Inhalte anzuzeigen oder es auf einem anderen Port freizugeben?

Das Bereitstellen eines Containers mithilfe einer Docker-Datei ermöglicht es Ihnen, den manuellen Schritt der Bild-Erstellung zu entfernen, wenn Sie dieselbe Konfiguration auf einem anderen Betriebssystem testen. Der Docker-Datei-Ansatz ist ein automatisiertes Skript von Docker-Images.

Erstellen wir eine Docker-Datei und führen einen Container daraus aus.

1. Erstellen Sie einen Ordner mit dem Namen ~/apache-server-docker-demo, ändern Sie dann (cd) das Arbeitsverzeichnis zu diesem Ordner.

mkdir ~/apache-server-docker-demo
cd ~/apache-server-docker-demo

2. Erstellen Sie eine weitere Datei, kopieren Sie den unten stehenden Konfigurationscode und speichern Sie die Datei als index.html im Verzeichnis ~/apache-server-docker-demo. Die Datei index.html ist eine HTML-Seite, die Dieses Tutorial zeigt, wie man einen Apache-Container in Docker ausführt, sobald der Container gestartet ist, wie Sie später im Kurs sehen werden.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>This tutorial will teach how to Run Apache container in docker .</title>
</head>
<body>
    <h1>This tutorial will teach how to Run Apache container in docker , lets GO!</h1>
</body>
</html>

3. Erstellen Sie eine weitere Datei, kopieren Sie den unten stehenden Konfigurationscode und speichern Sie die Datei als Dockerfile im Verzeichnis ~/apache-server-docker-demo. Wenn dies abgeschlossen ist, wird Docker diese Dockerfile verwenden, um alle Befehle auszuführen, die erforderlich sind, um ein neues Docker-Image auf Basis eines beliebigen Basisimages zu erstellen.

Die Dockerfile unten enthält verschiedene Schritte/Anweisungen, die den Apache-Container erstellen:

  • Maintainer Die Anweisung Maintainer gibt Informationen über den Autor, der diese Datei verwaltet.
  • FROM Die Anweisung FROM initialisiert einen neuen Build-Schritt und setzt das Basisimage für nachfolgende Anweisungen. Im folgenden Code-Snippet ist centos:7 das Basisimage.
  • COPY Der Befehl COPY kopiert eine Datei von der Hostmaschine (Docker-Host) in den Container. Die ****index.html-Datei, die Sie zuvor auf dem Docker-Host erstellt haben, wird in das Verzeichnis /var/www/html des Containers kopiert.
  • EXPOSE– Die EXPOSE-Anweisung informiert Docker darüber, dass der Container zur Laufzeit auf den angegebenen Netzwerkports hört. Der Apache-Webserver ist standardmäßig auf Port 80 freigegeben.
# Anweisung für das Dockerfile, um ein neues Image auf Basis des Basissystems (httpd) zu erstellen
FROM httpd:2.4
MAINTAINER [email protected]
COPY index.html /var/www/html/
EXPOSE 80

4. Überprüfen Sie als nächstes alle erforderlichen Dateien im Ordner, indem Sie den Befehl tree ausführen.

Verify all the required files

5. Erstellen Sie als nächstes das Image, indem Sie den Befehl docker build ausführen. Die t-Flagge wird verwendet, um das Image apache-server mit v1 zu taggen, und . bezeichnet das aktuelle Arbeitsverzeichnis.

# Erstellen des Docker-Images
sudo docker build  -t apache-server:v1 .
build the image by running the docker build command

Wenn Docker gebaut wird, werden verschiedene Attribute zurückgegeben. Sie sehen eines dieser Attribute ist REPOSITORY. Der REPOSITORY-Name ist apache-server, und das Image ist mit der Version v1 versehen, wie unten gezeigt.

Repository Attributes

6. Führen Sie schließlich den Apache-Container mit dem neu erstellten Image aus, indem Sie den Befehl docker run ausführen.

Die p-Flagge veröffentlicht die Port(s) eines Containers auf dem Host, der 80:80 ist. Die -it-Flagge weist Docker an, ein Pseudo-Terminal zuzuweisen, das mit dem stdin des Containers verbunden ist.

# Ausführen des Apache-Containers mit dem neu erstellten Image
docker run -it -p 80:80 apache-server:v1

7. Überprüfen Sie abschließend, ob Sie auf die Apache-Web-Schnittstelle zugreifen können, indem Sie mit Ihrem Webbrowser zu Öffentliche-IP-Adresse:80 navigieren. Sie sehen diese Nachricht auf der Webschnittstelle, weil Sie die index.html-Datei erstellt haben und Docker sie in den Container kopiert hat, als er gestartet wurde.

verify if you can access the Apache web interface

Abschluss

Dieses Tutorial soll Ihnen helfen, den Prozess der Einrichtung eines Apache Docker-Containers mithilfe von Docker-Images zu durchlaufen. Sie haben gelernt, wie Sie Apache-Container mithilfe von Docker-Dateien starten, mit denen Sie Container nach Ihren Wünschen bearbeiten und anpassen können.

Was werden Sie also auf dem Apache-Server-Docker-Image erstellen?

Source:
https://adamtheautomator.com/apache-docker/