Vyhledávání na webu

Jak nainstalovat Apache v kontejneru Docker v Linuxu


Pokud jste správce systému Linux a poskytujete podporu vývojářům, je pravděpodobné, že jste již slyšeli o Docker. Pokud ne, toto softwarové řešení vám dnes usnadní život tím, že vám pomůže snížit provozní náklady a urychlit nasazení – mimo jiné výhody.

Ale není to kouzlo. Docker jako platforma využívá kontejnery – balíčky aplikace spolu se všemi nástroji, které potřebuje ke spuštění k odstranění rozdílů mezi prostředími.

Jinými slovy, kontejnerový software bude fungovat a může být spravován konzistentně bez ohledu na to, kde je nainstalován. Kontejnery se navíc mnohem snadněji nastavují, spouštějí, zastavují a udržují než staré dobré virtuální stroje.

Pokud máte zájem dozvědět se více o rozdílech mezi těmito dvěma technologiemi, oficiální web Docker poskytuje skvělé vysvětlení.

Pro ilustraci v tomto článku vysvětlíme, jak nainstalovat Docker na CentOS/RHEL, Rocky/Alma Linux a Debian/ Ubuntu a vytvořte kontejner Apache 2.4 z Docker Hub.

Ten pak použijeme k obsluze jednoduché webové stránky z našeho domovského adresáře – to vše bez nutnosti instalace webového serveru na náš hostitel.

Instalace Dockeru na Linuxu

Nejprve si nainstalujme Docker pomocí následujícího příkazu curl. Tím se stáhne a spustí skript shellu, který přidá úložiště Docker do našeho systému a nainstaluje balíček.

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

Dále pomocí příkazu systemctl spusťte hlavní službu Docker, povolte její spuštění během restartování a zkontrolujte její stav.

systemctl start docker
systemctl enable docker
systemctl status docker

V tomto okamžiku můžeme jednoduše provést.

docker

pro zobrazení seznamu dostupných příkazů nebo získání nápovědy.

docker COMMAND --help
docker ps --help

nám řekne, jak vytvořit seznam kontejnerů přítomných v našem systému, zatímco

docker run --help

vypíše všechny možnosti, které můžeme použít k manipulaci s kontejnerem.

Nastavení kontejneru Apache

Jednou z úžasných věcí na ekosystému Docker je to, že existují desítky standardních kontejnerů, které si můžete snadno stáhnout a používat.

V následujícím příkladu vytvoříme instanci kontejneru Apache 2.4 s názvem tecmint-web, odděleného od aktuálního terminálu. Použijeme obrázek s názvem httpd:2.4 z Docker Hub.

Naším plánem je, aby požadavky na naši veřejnou IP adresu na portu 8080 byly přesměrovány na port 80 v kontejneru. Namísto poskytování obsahu ze samotného kontejneru také budeme zobrazovat jednoduchou webovou stránku z /home/user/website.

Toho dosáhneme namapováním /home/user/website/ na /usr/local/apache2/htdocs/ na kontejneru. Pamatujte, že budete muset použít sudo nebo se přihlásit jako root, abyste mohli pokračovat, a nevynechejte lomítka na konci každého adresáře.

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

V tuto chvíli by měl být náš kontejner Apache v provozu.

sudo docker ps

Nyní vytvoříme jednoduchou webovou stránku s názvem docker.html v adresáři /home/user/website.

vi /home/user/website/docker.html

Přidejte do souboru následující ukázkový obsah HTML.

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

Dále nasměrujte prohlížeč na Server-IP:8080/docker.html (kde Server-IP je veřejná IP adresa vašeho hostitele). Měla by se vám zobrazit stránka, kterou jsme vytvořili dříve.

Pokud si přejete, můžete nyní kontejner zastavit.

sudo docker stop tecmint-web

a odstranit to:

sudo docker rm tecmint-web

Chcete-li dokončit čištění, možná budete chtít smazat obrázek, který byl použit v kontejneru (tento krok vynechejte, pokud plánujete brzy vytvořit další kontejnery Apache 2.4).

sudo docker image remove httpd:2.4

Všimněte si, že ve všech výše uvedených krocích jsme nikdy nemuseli instalovat webový server na náš hostitel.

souhrn

V tomto článku jsme vysvětlili, jak nainstalovat Docker a manipulovat s kontejnerem. Bohužel, toto jsou jen základy – existují celé kurzy, knihy a certifikační zkoušky, které pokrývají Dockers (a kontejnery obecně) více do hloubky.

Pokud se chcete o Dockeru dozvědět více, již jsme se zabývali řadou 3 článků, které vysvětlují, jak nainstalovat Docker, spouštět aplikace do kontejnerů a automaticky vytvářet obrazy dockeru pomocí dockerfile.

  • Nainstalujte si Docker a naučte se základní manipulaci s kontejnery v CentOS a RHEL
  • Jak nasadit a spustit aplikace do kontejnerů Docker na CentOS/RHEL
  • Automaticky vytvářejte a konfigurujte obrazy Docker pomocí Dockerfile na CentOS/RHEL
  • Jak odebrat obrazy, kontejnery a svazky Dockeru

Berte to jako výchozí bod a dejte nám vědět, pokud máte nějaké dotazy nebo připomínky – těšíme se na vaši odpověď!