Jak zainstalować Apache w kontenerze Docker w systemie Linux
Jeśli jesteś administratorem systemu Linux, który zapewnia wsparcie programistom, prawdopodobnie słyszałeś o Dockerze. Jeśli nie, to rozwiązanie programowe ułatwi Ci życie już dziś, pomagając obniżyć koszty operacyjne i przyspieszyć wdrożenia – a także wiele innych korzyści.
Ale to nie jest magia. Docker jako platforma wykorzystuje kontenery – pakiety aplikacji wraz ze wszystkimi narzędziami niezbędnymi do jej uruchomienia, aby wyeliminować różnice pomiędzy środowiskami.
Innymi słowy, skonteneryzowane oprogramowanie będzie działać i można nim spójnie zarządzać niezależnie od tego, gdzie jest zainstalowane. Ponadto kontenery są znacznie łatwiejsze w konfiguracji, uruchamianiu, zatrzymywaniu i konserwacji niż stare, dobre maszyny wirtualne.
Jeśli chcesz dowiedzieć się więcej na temat różnic między tymi dwiema technologiami, oficjalna witryna Docker zawiera świetne wyjaśnienia.
Aby to zilustrować, w tym artykule wyjaśnimy, jak zainstalować Docker na CentOS/RHEL, Rocky/Alma Linux i Debian/ Ubuntu i uruchom kontener Apache 2.4 z Docker Hub.
Wykorzystamy go następnie do obsługi prostej strony internetowej z naszego katalogu domowego – a wszystko to bez konieczności instalowania serwera WWW na naszym hoście.
Instalowanie Dockera w systemie Linux
Na początek zainstalujmy Dockera za pomocą następującego polecenia curl. Spowoduje to pobranie i uruchomienie skryptu powłoki, który doda repozytorium Docker do naszego systemu i zainstaluje pakiet.
curl -fsSL https://get.docker.com | sh
Następnie użyj polecenia systemctl, aby uruchomić główną usługę Docker, włączyć ją podczas ponownego uruchamiania i sprawdzić jej status.
systemctl start docker
systemctl enable docker
systemctl status docker
W tym momencie możemy po prostu wykonać.
docker
aby wyświetlić listę dostępnych poleceń lub uzyskać pomoc.
docker COMMAND --help
docker ps --help
powie nam, jak wyświetlić listę kontenerów obecnych w naszym systemie, natomiast
docker run --help
wydrukuje wszystkie opcje, których możemy użyć do manipulowania kontenerem.
Konfigurowanie kontenera Apache
Jedną z niesamowitych cech ekosystemu Docker jest to, że istnieją dziesiątki standardowych kontenerów, które można łatwo pobrać i używać.
W poniższym przykładzie utworzymy kontener Apache 2.4 o nazwie tecmint-web, odłączony od bieżącego terminala. Użyjemy obrazu o nazwie httpd:2.4 z Docker Hub.
Planujemy, aby żądania kierowane na nasz publiczny adres IP na porcie 8080 były przekierowywane na port 80 kontenera. Ponadto zamiast udostępniać zawartość z samego kontenera, udostępnimy prostą stronę internetową z /home/user/website.
Robimy to poprzez mapowanie /home/user/website/ na /usr/local/apache2/htdocs/ w kontenerze. Pamiętaj, że aby kontynuować, będziesz musiał użyć sudo lub zalogować się jako root i nie pomijaj ukośników na końcu każdego katalogu.
sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4
W tym momencie nasz kontener Apache powinien już działać.
sudo docker ps
Stwórzmy teraz prostą stronę internetową o nazwie docker.html w katalogu /home/user/website.
vi /home/user/website/docker.html
Dodaj do pliku następującą przykładową treść 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>
Następnie wskaż w przeglądarce adres Server-IP:8080/docker.html (gdzie Server-IP to publiczny adres IP Twojego hosta). Powinna zostać wyświetlona strona, którą stworzyliśmy wcześniej.
Jeśli chcesz, możesz teraz zatrzymać kontener.
sudo docker stop tecmint-web
i usuń to:
sudo docker rm tecmint-web
Aby zakończyć czyszczenie, możesz usunąć obraz użyty w kontenerze (pomiń ten krok, jeśli planujesz wkrótce utworzyć inne kontenery Apache 2.4).
sudo docker image remove httpd:2.4
Pamiętaj, że we wszystkich powyższych krokach nigdy nie musieliśmy instalować serwera WWW na naszym hoście.
Streszczenie
W tym artykule wyjaśniliśmy, jak zainstalować Dockera i manipulować kontenerem. Niestety to tylko podstawy – istnieją całe kursy, książki i egzaminy certyfikacyjne, które bardziej szczegółowo omawiają Dockery (i ogólnie kontenery).
Jeśli chcesz dowiedzieć się więcej o Dockerze, omówiliśmy już serię trzech artykułów wyjaśniającą, jak zainstalować Docker, uruchamiać aplikacje w kontenerach i automatycznie tworzyć obrazy dokera za pomocą pliku dockerfile.
- Zainstaluj Docker i naucz się podstawowej manipulacji kontenerami w CentOS i RHEL
- Jak wdrażać i uruchamiać aplikacje w kontenerach Docker na CentOS/RHEL
- Automatycznie twórz i konfiguruj obrazy Docker za pomocą Dockerfile w CentOS/RHEL
- Jak usunąć obrazy, kontenery i woluminy platformy Docker
Potraktuj to jako punkt wyjścia i daj nam znać, jeśli masz jakieś pytania lub uwagi – czekamy na wiadomość od Ciebie!