Website-Suche

So installieren Sie Apache in einem Docker-Container unter Linux


Wenn Sie ein Linux-Systemadministrator sind, der Entwickler unterstützt, haben Sie wahrscheinlich schon von Docker gehört. Wenn nicht, wird Ihnen diese Softwarelösung ab heute das Leben erleichtern, indem sie Ihnen neben anderen Vorteilen dabei hilft, die Betriebskosten zu senken und die Bereitstellung zu beschleunigen.

Aber es ist keine Zauberei. Docker als Plattform nutzt Container – Pakete einer Anwendung zusammen mit allen Tools, die sie zum Ausführen benötigt, um Unterschiede zwischen Umgebungen zu beseitigen.

Mit anderen Worten: Containerisierte Software funktioniert unabhängig davon, wo sie installiert ist, und kann konsistent verwaltet werden. Darüber hinaus lassen sich Container viel einfacher einrichten, starten, stoppen und warten als die guten alten virtuellen Maschinen.

Wenn Sie mehr über die Unterschiede zwischen diesen beiden Technologien erfahren möchten, finden Sie auf der offiziellen Docker-Website eine gute Erklärung.

Zur Veranschaulichung erklären wir in diesem Artikel, wie man Docker unter CentOS/RHEL, Rocky/Alma Linux und Debian/ installiert. Ubuntu und starten Sie einen Apache 2.4-Container von Docker Hub.

Wir werden es dann verwenden, um eine einfache Webseite aus unserem Home-Verzeichnis bereitzustellen – und das alles ohne die Notwendigkeit, einen Webserver auf unserem Host zu installieren.

Docker unter Linux installieren

Beginnen wir mit der Installation von Docker mit dem folgenden Curl-Befehl. Dadurch wird ein Shell-Skript heruntergeladen und ausgeführt, das das Docker-Repository zu unserem System hinzufügt und das Paket installiert.

curl -fsSL https://get.docker.com | sh

Verwenden Sie als Nächstes den Befehl systemctl, um den Hauptdienst Docker zu starten, ihn für den Start bei Neustarts zu aktivieren und seinen Status zu überprüfen.

systemctl start docker
systemctl enable docker
systemctl status docker

An diesem Punkt können wir einfach ausführen.

docker

um die Liste der verfügbaren Befehle anzuzeigen oder Hilfe zu erhalten.

docker COMMAND --help
docker ps --help

erklärt uns, wie wir die auf unserem System vorhandenen Container auflisten

docker run --help

gibt alle Optionen aus, die wir zum Bearbeiten eines Containers verwenden können.

Einrichten eines Apache-Containers

Eines der erstaunlichen Dinge am Docker-Ökosystem ist, dass es Dutzende von Standardcontainern gibt, die Sie einfach herunterladen und verwenden können.

Im folgenden Beispiel instanziieren wir einen Apache 2.4-Container mit dem Namen tecmint-web, der vom aktuellen Terminal getrennt ist. Wir werden ein Image namens httpd:2.4 von Docker Hub verwenden.

Unser Plan besteht darin, Anfragen an unsere öffentliche IP-Adresse an Port 8080 an Port 80 des Containers umzuleiten. Anstatt Inhalte aus dem Container selbst bereitzustellen, stellen wir außerdem eine einfache Webseite aus /home/user/website bereit.

Wir tun dies, indem wir /home/user/website/ auf /usr/local/apache2/htdocs/ im Container abbilden. Beachten Sie, dass Sie sudo verwenden oder sich als root anmelden müssen, um fortzufahren, und lassen Sie die Schrägstriche am Ende jedes Verzeichnisses nicht weg.

sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4

Zu diesem Zeitpunkt sollte unser Apache-Container betriebsbereit sein.

sudo docker ps

Jetzt erstellen wir eine einfache Webseite mit dem Namen docker.html im Verzeichnis /home/user/website.

vi /home/user/website/docker.html

Fügen Sie der Datei den folgenden Beispiel-HTML-Inhalt hinzu.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learn Docker at linux-console.net</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

Geben Sie als Nächstes in Ihrem Browser Server-IP:8080/docker.html ein (wobei Server-IP die öffentliche IP-Adresse Ihres Hosts ist). Ihnen sollte die Seite angezeigt werden, die wir zuvor erstellt haben.

Wenn Sie möchten, können Sie den Container jetzt stoppen.

sudo docker stop tecmint-web

und entferne es:

sudo docker rm tecmint-web

Um die Bereinigung abzuschließen, möchten Sie möglicherweise das Bild löschen, das im Container verwendet wurde (lassen Sie diesen Schritt weg, wenn Sie vorhaben, bald weitere Apache 2.4-Container zu erstellen).

sudo docker image remove httpd:2.4

Beachten Sie, dass wir bei allen oben genannten Schritten nie den Webserver auf unserem Host installieren mussten.

Zusammenfassung

In diesem Artikel haben wir erklärt, wie man Docker installiert und einen Container manipuliert. Leider sind dies nur die Grundlagen – es gibt ganze Kurse, Bücher und Zertifizierungsprüfungen, die sich ausführlicher mit Dockern (und Containern im Allgemeinen) befassen.

Wenn Sie mehr über Docker erfahren möchten, haben wir bereits eine Serie mit drei Artikeln behandelt, in der erklärt wird, wie Sie Docker installieren, Anwendungen in Containern ausführen und Docker-Images mit Dockerfile automatisch erstellen.

  • Installieren Sie Docker und lernen Sie die grundlegende Containermanipulation in CentOS und RHEL
  • So stellen Sie Anwendungen in Docker-Containern unter CentOS/RHEL bereit und führen sie aus
  • Erstellen und konfigurieren Sie Docker-Images automatisch mit Dockerfile unter CentOS/RHEL
  • So entfernen Sie Docker-Images, Container und Volumes

Betrachten Sie dies als Ihren Ausgangspunkt und lassen Sie uns wissen, wenn Sie Fragen oder Anmerkungen haben – wir freuen uns darauf, von Ihnen zu hören!