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.
Das folgende Bild zeigt das erwartete Ergebnis beim Ziehen des Bildes von 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.
Wie Sie unten sehen können, haben Sie jetzt ein Docker-Image, das das Bild ist, das Sie von Docker Hub heruntergeladen haben.

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.
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.

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.

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äß.
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.
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.
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 istcentos: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 aufPort 80
freigegeben.
4. Überprüfen Sie als nächstes alle erforderlichen Dateien im Ordner, indem Sie den Befehl tree
ausführen.

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.

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.

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.
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.

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?