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

So richten Sie einen Apache Docker-Container ein

Wenn Docker und Container neu für Sie sind, ist die Einrichtung von Apache Docker Container ein guter Einstieg. Das Erstellen einer Anwendung auf Docker ist aufgrund seiner leichten Technologie und Sicherheit ein großer Vorteil.

In diesem Tutorial erfahren Sie, wie Sie einen Apache Docker Container auf Ubuntu einrichten. Verwenden Sie dieses Tutorial, um die ersten Schritte mit Docker zu lernen, und kommen Sie auch mit einem Apache-Webserver davon!

Voraussetzungen

Wenn Sie Schritt für Schritt folgen möchten, stellen Sie sicher, dass Sie die folgende und Ubuntu 14.04.4 LTS oder höher Maschine mit installiertem Docker in diesem Tutorial haben. 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, richten wir zuerst den Apache-Container ein. Später erfahren Sie, wie Sie es starten.

Eine der einfachsten Möglichkeiten, schnell einen Apache-Docker-Container hochzufahren, ist das Herunterladen eines vorhandenen Container-Images von der offiziellen Docker-Registrierung Docker Hub. Für dieses Beispiel laden Sie einen Docker-Container namens Apache herunter und führen ihn aus.

Mit ein paar Docker-Befehlen führen Sie im Handumdrehen eine Instanz von Apache aus. Führen Sie dazu die folgenden Schritte aus.

Hinweis:In diesem Tutorial wird das Ausführen von Docker-Befehlen nicht ausführlich behandelt. Um mehr über Docker-Befehle zu erfahren, besuchen Sie die Docker-Befehlszeilen-Dokumentationsseite.

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

2. Laden Sie das Docker-Image herunter, das Apache namens httpd enthält , indem Sie docker pull ausführen Befehl unten. Dieser Befehl lädt das Apache-Image herunter oder zieht es aus der Docker-Registrierung, wie unten gezeigt.

# Pulls the Docker Images from docker registry to your local machine.
docker pull httpd

Der Screenshot unten zeigt das erwartete Ergebnis beim Ziehen des Bildes von Docker Hub.

3. Bestätigen Sie als Nächstes, dass Sie das Image heruntergeladen haben, indem Sie docker images ausführen Befehl unten, um alle auf Ihrem Computer verfügbaren Bilder aufzulisten.

# To check the docker images
docker images

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

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

Im vorherigen Abschnitt haben Sie das Docker-Image vom Docker-Hub heruntergeladen. Sie können jetzt einen Container aus diesem Image erstellen. Um den Apache-Container auszuführen, müssen Sie den Docker-Befehl wie folgt ausführen:

1. Rufen Sie docker run auf Befehl, um einen neuen Container basierend auf Ihrem heruntergeladenen Apache Docker-Image zu erstellen.

# Run a new docker container called docker-apache (--name)
# Map the local computer's port 80 to the container's port 80 (-p 80:80)
# In detached mode (-d)
# Using the Apache image
docker run -d --name docker-apache -p 80:80 -d httpd

Der docker run Der Befehl gibt dann die eindeutige Container-ID des Containers zurück, den Sie gerade erstellt haben. Speichern Sie diese Container-ID im hervorgehobenen Feld unten für die Zukunft, wenn Sie den Container löschen oder entfernen möchten.

2. Wenn der Apache-Container ausgeführt wird, überprüfen Sie, ob Sie auf die Apache-Weboberfläche zugreifen können, indem Sie zu Öffentliche IP-Adresse:80 navigieren mit Ihrem Webbrowser. Wenn Sie dieselbe Meldung sehen können, wie Sie unten sehen können, haben Sie Ihren Apache Docker-Container erfolgreich gestartet.

Stellen Sie sicher, dass der Ubuntu 14.04.4 LTS-Rechner einen in der Sicherheitsgruppe zugelassenen Port 80 für eingehenden Datenverkehr hat.

3. Stoppen Sie abschließend den Container, wenn Sie ihn nicht mehr benötigen, indem Sie docker stop ausführen Befehl unten. Dieser Befehl stoppt die Containerinstanz ordnungsgemäß.

# Stop the container with ID aaaee64a4512 Make sure to change the container ID value to yours.
# Note: specifying the first 12 characters of the container ID is enough.
docker stop aaaee64a4512

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

Apache-Docker-Container aus Docker-Datei ausführen

Im vorherigen Abschnitt haben Sie gelernt, wie Sie einen Apache-Docker-Container starten, indem Sie das Standard-httpd-Docker-Image ausführen. Was ist, wenn Sie das Basis-Image aktualisieren müssen, um andere Inhalte anzuzeigen oder es auf einem anderen Port verfügbar zu machen?

Durch das Bereitstellen eines Containers mithilfe einer Docker-Datei können Sie den manuellen Image-Erstellungsschritt entfernen, wenn Sie dasselbe Setup auf einem anderen Betriebssystem testen. Der Docker-File-Ansatz ist ein automatisiertes Skript von Docker-Images.

Lassen Sie uns eine Docker-Datei erstellen und daraus einen Container ausführen.

1. Erstellen Sie einen Ordner namens ~/apache-server-docker-demo, dann ändern (cd ) das Arbeitsverzeichnis in diesen Ordner.

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

2. Erstellen Sie eine weitere Datei, kopieren/fügen Sie die folgende Konfiguration ein und speichern Sie die Datei als index.html innerhalb der ~/apache-server-docker-demo Verzeichnis. Die index.html file ist eine HTML-Seite, die Dieses Tutorial zeigt, wie man Apache-Container im Docker ausführt sobald der Container startet, den 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/fügen Sie die folgende Konfiguration ein und speichern Sie die Datei als Docker-Datei in der ~/apache-server-docker-demo Verzeichnis. Wenn dies abgeschlossen ist, verwendet Docker diese Docker-Datei, um alle Befehle auszuführen, die zum Erstellen eines neuen Docker-Images über einem beliebigen Basis-Image erforderlich sind.

Die DockerFile Unten finden Sie verschiedene Schritte/Anweisungen zum Erstellen des Apache-Containers:

  • Maintainer Betreueranleitung gibt Auskunft über den Autor, der diese Datei verwaltet.
  • FROM Die FROM-Anweisung initialisiert eine neue Erstellungsstufe und setzt das Basisbild für nachfolgende Anweisungen. Im folgenden Code-Snippet centos:7 ist das Basisbild.
  • COPY Der Befehl COPY kopiert eine Datei vom Hostcomputer (Docker-Host) in den Container. Die ****index.html Sie zuvor auf dem Docker-Host erstellt haben, werden in die Container /var/www/html kopiert Verzeichnis.
  • EXPOSE – Die EXPOSE-Anweisung informiert Docker darüber, dass der Container zur Laufzeit auf den angegebenen Netzwerkports lauscht. Der Apache-Webserver wird standardmäßig auf Port 80 bereitgestellt .
# Instruction for Dockerfile to create a new image on top of the base image (httpd)
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 unten im Ordner, indem Sie den tree ausführen Befehl.

5. Erstellen Sie als Nächstes das Image, indem Sie docker build ausführen Befehl. Das t Flag wird verwendet, um das Image apache-server zu markieren mit v1 und. bezeichnet das aktuelle Arbeitsverzeichnis.

# Building the docker Image
sudo docker build  -t apache-server:v1 .

Wenn Docker-Builds ausgeführt werden, gibt es verschiedene Attribute zurück. Sie werden sehen, dass eines dieser Attribute REPOSITORY ist. Der REPOSITORY-Name ist apache-server , und das Bild ist mit der Version v1 gekennzeichnet , Wie nachfolgend dargestellt.

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

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

# Running the Apache container using the newly built image
docker run -it -p 80:80 apache-server:v1

7. Überprüfen Sie abschließend, ob Sie auf die Apache-Weboberfläche zugreifen können, indem Sie zu Public-ip-address:80 navigieren mit Ihrem Webbrowser. Sie sehen diese Meldung auf der Weboberfläche, weil Sie die Datei index.html erstellt haben und Docker sie beim Start in den Container kopiert hat.

Schlussfolgerung

Dieses Tutorial soll Ihnen beim Einrichten eines Apache-Docker-Containers mithilfe von Docker-Images helfen. Sie haben gelernt, wie Sie Apache-Container mithilfe von Docker-Dateien starten, mit denen Sie benutzerdefinierte Container Ihrer Wahl bearbeiten und erstellen können.

Was werden Sie also auf dem Docker-Image des Apache-Servers aufbauen?


Docker
  1. Installieren Sie ModSecurity mit Apache in einem Docker-Container

  2. So richten Sie vHosts in Apache ein

  3. Wie führe ich ein Programm in einem Docker-Container aus?

  4. So führen Sie MySQL in einem Docker-Container aus

  5. Wie man SSH in einen Docker-Container einfügt

So speichern Sie Docker-Containerdaten in Docker-Volumes

So installieren Sie Docker unter Debian 11

So führen Sie PHPMyAdmin in einem Docker-Container aus

So führen Sie Grafana in einem Docker-Container aus

So richten Sie Pihole in einem Docker-Container ein

So führen Sie Docker-Container aus