GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So richten Sie einen einfachen Apache-Webserver in einem Docker-Container ein

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 leichter machen, indem sie Ihnen hilft, die Betriebskosten zu senken und die Bereitstellung zu beschleunigen – neben anderen Vorteilen.

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

Mit anderen Worten, containerisierte Software funktioniert und kann konsistent verwaltet werden, unabhängig davon, wo sie installiert ist. Darüber hinaus sind Container viel einfacher einzurichten, zu starten, zu stoppen und zu warten als gute alte virtuelle Maschinen.

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

Zur Veranschaulichung erklären wir in diesem Artikel, wie Sie Docker installieren auf CentOS/RHEL , Rocky/Alma Linux , und Debian/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 – alles ohne die Notwendigkeit, einen Webserver auf unserem Host zu installieren.

Docker unter Linux installieren

Lassen Sie uns zunächst Docker installieren 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 Haupt-Docker zu starten Dienst, ermöglichen Sie ihm, während des Neustarts zu starten, und überprüfen Sie seinen Status.

# 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 um Hilfe zu erhalten.

# docker COMMAND --help
# docker ps --help

wird uns sagen, wie wir auf unserem System vorhandene Container auflisten, wohingegen

# docker run --help

gibt alle Optionen aus, die wir verwenden können, um einen Container zu manipulieren.

Einen Apache-Container einrichten

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

Im folgenden Beispiel instanziieren wir einen Apache 2.4 Container namens tecmint-web , getrennt vom aktuellen Terminal. Wir verwenden ein Bild namens httpd:2.4 von Docker Hub .

Unser Plan ist es, Anfragen an unsere öffentliche IP-Adresse auf Port 8080 zu senden auf Port 80 umgeleitet werden auf dem Behälter. Anstatt Inhalte aus dem Container selbst bereitzustellen, stellen wir außerdem eine einfache Webseite von /home/user/website bereit .

Dazu ordnen wir /home/user/website/ zu auf /usr/local/apache2/htdocs/ auf dem Behälter. Beachten Sie, dass Sie sudo verwenden müssen oder melden Sie sich als root an 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

An dieser Stelle unser Apache Container sollte betriebsbereit sein.

$ sudo docker ps

Lassen Sie uns nun eine einfache Webseite mit dem Namen docker.html erstellen innerhalb der /home/user/website Verzeichnis.

# 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 Tecmint.com</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

Als nächstes richten Sie Ihren Browser auf Server-IP:8080/docker.html (wobei Server-IP ist die öffentliche IP-Adresse Ihres Hosts). 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 entfernen Sie es:

$ sudo docker rm tecmint-web

Um die Bereinigung abzuschließen, möchten Sie vielleicht das Image löschen, das im Container verwendet wurde (überspringen Sie diesen Schritt, wenn Sie vorhaben, andere Apache 2.4 Container bald).

$ sudo docker image remove httpd:2.4

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

Zusammenfassung

In diesem Artikel haben wir erklärt, wie Sie Docker installieren und einen Container manipulieren. Leider sind dies nur die Grundlagen – es gibt ganze Kurse, Bücher und Zertifizierungsprüfungen, die Dockers abdecken (und Container im Allgemeinen) mehr in die Tiefe.

Wenn Sie mehr über Docker erfahren möchten haben wir bereits eine 3-Artikel-Serie behandelt, die erklärt, wie man Docker installiert, Anwendungen in Containern ausführt und automatisch Docker-Images mit Dockerfile erstellt.

  • Installieren Sie Docker und lernen Sie die grundlegende Container-Manipulation in CentOS und RHEL
  • So stellen Sie Anwendungen in Docker-Containern auf CentOS/RHEL bereit und führen sie aus
  • Automatisches Erstellen und Konfigurieren von Docker-Images mit Dockerfile auf CentOS/RHEL
  • So entfernen Sie Docker-Images, -Container und -Volumes

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


Docker
  1. So konfigurieren Sie einen Apache-Webserver

  2. So führen Sie MySQL im Docker-Container aus:Eine einfache, leicht verständliche Anleitung

  3. So installieren Sie Apache Webserver auf Centos 8

  4. Greifen Sie auf einen Apache-Webserver in einem LXD-Container zu

  5. So installieren Sie den Apache-Webserver unter Ubuntu

So installieren Sie den Apache-Webserver unter Debian 11

So installieren Sie den Apache-Webserver unter Ubuntu 18.04

So installieren Sie den Apache-Webserver unter Ubuntu 20.04

Wie optimiere ich den Apache-Webserver?

So richten Sie einen Apache Docker-Container ein

So richten Sie Nginx Cache auf einem LAMP-Server ein