Kako instalirati Apache u Docker kontejner u Linuxu


Ako ste administrator Linux sustava koji pruža podršku programerima, vjerojatno ste čuli za Docker. Ako ne, ovo softversko rješenje olakšat će vam život već danas pomažući vam smanjiti operativne troškove i ubrzati implementaciju – između ostalih prednosti.

Ali to nije magija. Docker kao platforma koristi spremnike – pakete aplikacije zajedno sa svim alatima koji su joj potrebni za pokretanje kako bi se uklonile razlike između okruženja.

Drugim riječima, kontejnerski softver radit će i njime se može dosljedno upravljati bez obzira na to gdje je instaliran. Osim toga, spremnike je puno lakše postaviti, pokrenuti, zaustaviti i održavati od dobrih starih virtualnih strojeva.

Ako vas zanima više o razlikama između ove dvije tehnologije, službena Dockerova web stranica nudi sjajno objašnjenje.

Za ilustraciju, u ovom ćemo članku objasniti kako instalirati Docker na CentOS/RHEL, Rocky/Alma Linux i Debian/ Ubuntu i pokrenuti Apache 2.4 spremnik iz Docker Huba.

Zatim ćemo ga koristiti za posluživanje jednostavne web stranice iz našeg matičnog imenika – sve bez potrebe za instaliranjem web poslužitelja na našem hostu.

Instaliranje Dockera na Linux

Za početak, instalirajmo Docker pomoću sljedeće naredbe curl. Ovo će preuzeti i pokrenuti skriptu ljuske koja će dodati Docker repozitorij našem sustavu i instalirati paket.

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

Zatim upotrijebite naredbu systemctl za pokretanje glavne usluge Docker, omogućite joj da se pokrene tijekom ponovnog pokretanja i provjerite njen status.

systemctl start docker
systemctl enable docker
systemctl status docker

U ovom trenutku možemo jednostavno izvršiti.

docker

za pregled popisa dostupnih naredbi ili za pomoć.

docker COMMAND --help
docker ps --help

reći će nam kako ispisati spremnike prisutne u našem sustavu, dok

docker run --help

ispisat će sve opcije koje možemo koristiti za rukovanje spremnikom.

Postavljanje Apache spremnika

Jedna od nevjerojatnih stvari o Docker ekosustavu je da postoje deseci standardnih spremnika koje možete jednostavno preuzeti i koristiti.

U sljedećem primjeru instancirat ćemo Apache 2.4 spremnik pod nazivom tecmint-web, odvojen od trenutnog terminala. Koristit ćemo sliku pod nazivom httpd:2.4 iz Docker Huba.

Naš je plan da zahtjevi upućeni našoj javnoj IP adresi na portu 8080 budu preusmjereni na port 80 na spremniku. Također, umjesto posluživanja sadržaja iz samog spremnika, poslužit ćemo jednostavnu web stranicu s /home/user/website.

To radimo mapiranjem /home/user/website/ na /usr/local/apache2/htdocs/ na spremniku. Imajte na umu da ćete za nastavak morati koristiti sudo ili se prijaviti kao root i nemojte izostaviti kose crte na kraju svakog direktorija.

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

U ovom trenutku naš Apache spremnik bi trebao biti pokrenut.

sudo docker ps

Kreirajmo sada jednostavnu web stranicu pod nazivom docker.html unutar direktorija /home/user/website.

vi /home/user/website/docker.html

Dodajte sljedeći primjer HTML sadržaja u datoteku.

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

Zatim usmjerite preglednik na IP poslužitelja:8080/docker.html (gdje je IP poslužitelja javna IP adresa vašeg hosta). Trebala bi vam se prikazati stranica koju smo prethodno izradili.

Ako želite, sada možete zaustaviti spremnik.

sudo docker stop tecmint-web

i uklonite ga:

sudo docker rm tecmint-web

Da biste dovršili čišćenje, možda ćete htjeti izbrisati sliku koja je korištena u spremniku (izostavite ovaj korak ako planirate uskoro izraditi druge Apache 2.4 spremnike).

sudo docker image remove httpd:2.4

Imajte na umu da u svim gornjim koracima nikada nismo morali instalirati web poslužitelj na našem hostu.

Sažetak

U ovom smo članku objasnili kako instalirati Docker i manipulirati spremnikom. Nažalost, ovo su samo osnove – postoje čitavi tečajevi, knjige i certifikacijski ispiti koji detaljnije pokrivaju Dockere (i kontejnere općenito).

Ako želite saznati više o Dockeru, već smo obradili seriju od 3 članka koja objašnjavaju kako instalirati Docker, pokretati aplikacije u spremnike i automatski graditi slike dockera s dockerfileom.

  • Instalirajte Docker i naučite osnovnu manipulaciju spremnikom u CentOS-u i RHEL-u
  • Kako implementirati i pokrenuti aplikacije u Docker kontejnerima na CentOS/RHEL
  • Automatski izgradite i konfigurirajte Docker slike s Dockerfileom na CentOS/RHEL
  • Kako ukloniti Docker slike, spremnike i sveske

Uzmite ovo kao svoju početnu točku i javite nam ako imate bilo kakvih pitanja ili komentara – veselimo se vašem odgovoru!