Cum se instalează Apache într-un container Docker în Linux


Dacă sunteți un administrator de sistem Linux care oferă asistență pentru dezvoltatori, este posibil să fi auzit de Docker. Dacă nu, această soluție software vă va ușura viața începând de astăzi, ajutându-vă să reduceți costurile de operare și să accelerați implementările – printre alte beneficii.

Dar nu este magie. Docker ca platformă folosește containerele – pachete ale unei aplicații împreună cu toate instrumentele de care are nevoie pentru a elimina diferențele dintre medii.

Cu alte cuvinte, software-ul containerizat va funcționa și poate fi gestionat în mod constant, indiferent de locul în care este instalat. În plus, containerele sunt mult mai ușor de configurat, pornit, oprit și întreținut decât vechile mașini virtuale bune.

Dacă sunteți interesat să aflați mai multe despre diferențele dintre aceste două tehnologii, site-ul web oficial Docker oferă o explicație excelentă.

Pentru a ilustra, în acest articol vom explica cum să instalați Docker pe CentOS/RHEL, Rocky/Alma Linux și Debian/ Ubuntu și porniți un container Apache 2.4 din Docker Hub.

Îl vom folosi apoi pentru a servi o pagină web simplă din directorul nostru principal – totul fără a fi nevoie să instalăm un server web pe gazda noastră.

Instalarea Docker pe Linux

Pentru a începe, să instalăm Docker folosind următoarea comandă curl. Aceasta va descărca și rula un script shell care va adăuga depozitul Docker la sistemul nostru și va instala pachetul.

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

Apoi, utilizați comanda systemctl pentru a porni serviciul principal Docker, activați-l să pornească în timpul repornirilor și verificați starea acestuia.

systemctl start docker
systemctl enable docker
systemctl status docker

În acest moment, putem pur și simplu să executăm.

docker

pentru a vizualiza lista comenzilor disponibile sau pentru a obține ajutor.

docker COMMAND --help
docker ps --help

ne va spune cum să listăm containerele prezente în sistemul nostru, în timp ce

docker run --help

va imprima toate opțiunile pe care le putem folosi pentru a manipula un container.

Configurarea unui container Apache

Unul dintre lucrurile uimitoare despre ecosistemul Docker este că există zeci de containere standard pe care le puteți descărca și utiliza cu ușurință.

În exemplul următor, vom instanția un container Apache 2.4 numit tecmint-web, detașat de terminalul curent. Vom folosi o imagine numită httpd:2.4 de la Docker Hub.

Planul nostru este ca solicitările făcute către adresa noastră IP publică de pe portul 8080 să fie redirecționate către portul 80 de pe container. De asemenea, în loc să difuzăm conținut din container în sine, vom difuza o pagină web simplă de pe /home/user/website.

Facem acest lucru prin maparea /home/user/website/ pe /usr/local/apache2/htdocs/ de pe container. Rețineți că va trebui să utilizați sudo sau să vă conectați ca rădăcină pentru a continua și nu omiteți barele oblice de la sfârșitul fiecărui director.

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

În acest moment, containerul nostru Apache ar trebui să fie în funcțiune.

sudo docker ps

Acum să creăm o pagină web simplă numită docker.html în directorul /home/user/website.

vi /home/user/website/docker.html

Adăugați următorul exemplu de conținut HTML la fișier.

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

Apoi, îndreptați browserul către Server-IP:8080/docker.html (unde Server-IP este adresa IP publică a gazdei dvs.). Ar trebui să vi se prezinte pagina pe care am creat-o anterior.

Dacă doriți, acum puteți opri containerul.

sudo docker stop tecmint-web

si scoate-l:

sudo docker rm tecmint-web

Pentru a termina curățarea, poate doriți să ștergeți imaginea care a fost folosită în container (omiteți acest pas dacă intenționați să creați în curând alte containere Apache 2.4).

sudo docker image remove httpd:2.4

Rețineți că în toți pașii de mai sus nu a trebuit niciodată să instalăm serverul web pe gazda noastră.

rezumat

În acest articol, am explicat cum să instalați Docker și să manipulați un container. Din păcate, acestea sunt doar elementele de bază – există cursuri întregi, cărți și examene de certificare care acoperă Dockers (și containerele în general) mai aprofundat.

Dacă doriți să aflați mai multe despre Docker, am acoperit deja o serie de 3 articole, care explică cum să instalați Docker, să rulați aplicații în containere și să construiți automat imagini docker cu dockerfile.

  • Instalați Docker și aflați manipularea de bază a containerelor în CentOS și RHEL
  • Cum să implementați și să rulați aplicații în containerele Docker pe CentOS/RHEL
  • Creați și configurați automat imagini Docker cu Dockerfile pe CentOS/RHEL
  • Cum să eliminați imaginile, containerele și volumele Docker

Luați în considerare acest punct de plecare și spuneți-ne dacă aveți întrebări sau comentarii – așteptăm cu nerăbdare să ne auzim!