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