Wéi installéiere ech Apache an engem Docker Container a Linux


Wann Dir e Linux System Administrateur sidd deen Ënnerstëtzung fir Entwéckler ubitt, sinn d'Chancen datt Dir vun Docker héieren hutt. Wann net, wäert dës Softwareléisung Äert Liewen haut méi einfach maachen andeems Dir d'Betribskäschte reduzéiert an d'Deploymenter beschleunegt - ënner anerem Virdeeler.

Awer et ass keng Magie. Docker als Plattform benotzt Container - Packagen vun enger Applikatioun zesumme mat all Tools déi se brauche fir ze lafen fir Differenzen tëscht Ëmfeld ze eliminéieren.

An anere Wierder, containeriséiert Software funktionnéiert a ka konsequent geréiert ginn onofhängeg vu wou se installéiert ass. Zousätzlech si Container vill méi einfach opzestellen, ze starten, ze stoppen an z'erhalen wéi gutt al virtuell Maschinnen.

Wann Dir interesséiert sidd méi iwwer d'Ënnerscheeder tëscht dësen zwou Technologien ze wëssen, bitt déi offiziell Docker Websäit eng super Erklärung.

Fir ze illustréieren, wäerte mir an dësem Artikel erkläre wéi Dir Docker op CentOS/RHEL, Rocky/Alma Linux, an Debian/Ubuntu installéiere wëllt, an en Apache 2.4 Container vum Docker Hub spin up.

Mir wäerten et dann benotzen fir eng einfach Websäit aus eisem Heemverzeechnes ze déngen - alles ouni de Besoin fir e Webserver op eisem Host z'installéieren.

Installéiert Docker op Linux

Fir unzefänken, loosst eis Docker installéieren mam folgenden Curl Kommando. Dëst wäert e Shell-Skript eroflueden an ausféieren, deen den Docker-Repository an eise System bäidréit an de Package installéiere wäert.

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

Als nächst benotzt de Systemctl Kommando fir den Haapt Docker Service unzefänken, aktivéiert et fir beim Neistart ze starten, a kontrolléiert säi Status.

# systemctl start docker
# systemctl enable docker
# systemctl status docker

Zu dësem Zäitpunkt kënne mir einfach ausféieren.

# docker

fir d'Lëscht vun de verfügbare Kommandoen ze gesinn oder Hëllef ze kréien.

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

wäert eis soen wéi Container op eisem System präsent sinn, wärend

# docker run --help

wäert all d'Optiounen drécken, déi mir benotze kënne fir e Container ze manipuléieren.

En Apache Container opsetzen

Ee vun den erstaunlechen Saachen iwwer den Docker Ökosystem ass datt et Zénger vu Standardbehälter sinn déi Dir einfach eroflueden a benotze kënnt.

Am folgende Beispill wäerte mir en Apache 2.4 Container mam Numm tecmint-web instantiéieren, vum aktuellen Terminal getrennt. Mir benotzen e Bild mam Numm httpd:2.4 vum Docker Hub.

Eise Plang ass d'Ufroe fir eis ëffentlech IP Adress um Port 8080 op den Hafen 80 um Container ëmgeleet ze hunn. Och, anstatt Inhalt aus dem Container selwer ze déngen, servéiere mir eng einfach Websäit vun /home/user/website.

Mir maachen dat duerch Kartéierung /home/user/website/ op der /usr/local/apache2/htdocs/ um Container. Bedenkt datt Dir Sudo oder Login als Root benotze musst fir weiderzegoen, an d'Forward-Slashes um Enn vun all Verzeechnes net auszeginn.

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

Zu dësem Zäitpunkt sollt eisen Apache Container op a lafen sinn.

$ sudo docker ps

Loosst eis elo eng einfach Websäit erstellen mam Numm docker.html am /home/user/website Verzeichnis.

# vi /home/user/website/docker.html

Füügt de folgende Beispill HTML Inhalt an d'Datei.

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

Als nächst gitt Äre Browser op Server-IP:8080/docker.html (wou Server-IP déi ëffentlech IP Adress vun Ärem Host ass). Dir sollt d'Säit presentéiert ginn, déi mir virdru erstallt hunn.

Wann Dir wëllt, kënnt Dir elo de Container stoppen.

$ sudo docker stop tecmint-web

an ewechhuelen:

$ sudo docker rm tecmint-web

Fir d'Botzen ofzeschléissen, wëllt Dir vläicht d'Bild läschen dat am Container benotzt gouf (dëse Schrëtt lass wann Dir plangt geschwënn aner Apache 2.4 Container ze kreéieren).

$ sudo docker image remove httpd:2.4

Bedenkt datt mir an all de Schrëtt hei uewen ni de Webserver op eisem Host installéiert hunn.

An dësem Artikel hu mir erkläert wéi Dir Docker installéiert an e Container manipuléiert. Leider sinn dëst just d'Basis - et gi ganz Coursen, Bicher, an Zertifizéierungsexamen déi Dockers (a Container am Allgemengen) méi am-Déift ofdecken.

Wann Dir méi iwwer Docker léiere wëllt, hu mir schonn eng 3-Artikel-Serie ofgedeckt, déi erkläert wéi Dir Docker installéiere wëllt, Uwendungen a Container ausféieren an automatesch Docker-Biller mat Dockerfile bauen.

  • Installéiert Docker a léiert Basis Container Manipulatioun an CentOS an RHEL
  • Wéi Uwendungen an Docker Container op CentOS/RHEL z'installéieren a lafen
  • Automatesch Docker Biller mat Dockerfile op CentOS/RHEL bauen a konfiguréieren
  • Wéi läschen ech Docker Biller, Container a Volumen

Betruecht dëst als Äre Startpunkt a loosst eis wëssen, wann Dir Froen oder Bemierkungen hutt - mir freeën eis vun Iech ze héieren!