Wyszukiwanie w witrynie

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!