Kā iestatīt vienkāršu Apache tīmekļa serveri Docker konteinerā


Ja esat Linux sistēmas administrators un sniedzat atbalstu izstrādātājiem, iespējams, ka esat dzirdējuši par Docker. Ja nē, šis programmatūras risinājums atvieglos jūsu dzīvi jau šodien, palīdzot jums samazināt ekspluatācijas izmaksas un paātrināt izvietošanu.

Bet tā nav maģija. Docker kā platforma izmanto konteinerus - lietojumprogrammas paketes, kā arī visus nepieciešamos rīkus, lai novērstu atšķirības vidēs.

Citiem vārdiem sakot, konteineru programmatūra darbosies un to varēs konsekventi pārvaldīt neatkarīgi no tā, kur tā ir instalēta. Turklāt konteinerus ir daudz vieglāk iestatīt, startēt, apturēt un uzturēt nekā vecās labās virtuālās mašīnas. Ja vēlaties uzzināt vairāk par šo divu tehnoloģiju atšķirībām, oficiālajā Docker vietnē ir sniegts lielisks paskaidrojums.

Ilustrācijai šajā rakstā mēs paskaidrosim, kā instalēt Docker CentOS 7 un Ubuntu 16.04, un no Docker Hub izveidojiet Apache 2.4 konteineru.

Pēc tam mēs to izmantosim, lai apkalpotu vienkāršu tīmekļa lapu no mūsu mājas direktorija - viss bez nepieciešamības mūsu resursdatorā instalēt tīmekļa serveri.

Docker instalēšana CentOS un Ubuntu

Lai sāktu, instalēsim Docker, izmantojot šādu komandu. Tādējādi tiks lejupielādēts un palaists čaulas skripts, kas mūsu sistēmai pievienos Docker krātuvi un instalēs paketi.

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

Pēc tam izmantojiet komandu systemctl, lai palaistu galveno Docker pakalpojumu un pārbaudītu tā statusu.

# systemctl start docker
# systemctl status docker

Šajā brīdī mēs varam vienkārši izpildīt.

# docker

lai apskatītu pieejamo komandu sarakstu vai saņemtu palīdzību.

# docker COMMAND --help
# docker ps --help

pastāstīs mums, kā uzskaitīt konteinerus, kas atrodas mūsu sistēmā, turpretī

# docker run --help

izdrukās visas opcijas, kuras mēs varam izmantot, lai manipulētu ar konteineru.

Apache konteinera iestatīšana

Viena no apbrīnojamākajām lietām par Docker ekosistēmu ir tā, ka ir desmitiem standarta konteineru, kurus varat viegli lejupielādēt un izmantot. Šajā piemērā mēs izveidosim Apache 2.4 konteineru ar nosaukumu tecmint-web, kas ir atdalīts no pašreizējā termināla. Mēs izmantosim Docker Hub attēlu ar nosaukumu httpd: 2.4.

Mēs plānojam pieprasījumu, kas veikti uz mūsu publisko IP adresi 8080 ostā, novirzīšanu uz konteinera 80. ostu. Tā vietā, lai sniegtu saturu no paša konteinera, mēs apkalposim vienkāršu tīmekļa lapu no/home/user/website.

Mēs to darām, kartē/home/user/website/uz/usr/local/apache2/htdocs/uz konteinera. Ņemiet vērā, ka, lai turpinātu, jums būs jāizmanto sudo vai jāpiesakās kā root, un katra direktorija beigās neizlaidiet slīpsvītras.

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

Šajā brīdī mūsu Apache konteineram vajadzētu būt darbam.

$ sudo docker ps

Tagad izveidosim vienkāršu tīmekļa lapu ar nosaukumu docker.html/home/user/website direktorijā.

# vi /home/user/website/docker.html

Pievienojiet failam šādu HTML satura paraugu.

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

Pēc tam norādiet pārlūkprogrammu uz AAA.BBB.CCC.DDD: 8080/docker.html (kur AAA.BBB.CCC.DDD ir jūsu mitinātāja publiskā IP adrese). Jums vajadzētu iepazīstināt ar iepriekš izveidoto lapu.

Ja vēlaties, tagad konteineru varat apturēt.

$ sudo docker stop tecmint-web

un noņemiet to:

$ sudo docker rm tecmint-web

Lai pabeigtu tīrīšanu, ieteicams izdzēst konteinerā izmantoto attēlu (izlaidiet šo darbību, ja drīzumā plānojat izveidot citus Apache 2.4 konteinerus).

$ sudo docker image remove httpd:2.4

Ņemiet vērā, ka visās iepriekš minētajās darbībās mums nekad nebija jāinstalē tīmekļa serveris mūsu resursdatorā.

Šajā rakstā mēs izskaidrojām, kā instalēt Docker un manipulēt ar konteineru. Diemžēl tie ir tikai pamati - ir veseli kursi, grāmatas un sertifikācijas eksāmeni, kas dziļāk aptver dokerus (un konteinerus kopumā).

Ja vēlaties uzzināt vairāk par Docker, mēs jau esam apskatījuši 3 rakstu sēriju, kurā ir paskaidrots, kā instalēt Docker, palaist lietojumprogrammas konteineros un automātiski veidot docker attēlus ar dockerfile.

  1. CentOS un RHEL 7/6 instalējiet Docker un uzziniet pamata manipulācijas ar konteineriem
  2. Kā izvietot un palaist lietojumprogrammas Docker konteineros, izmantojot CentOS/RHEL 7/6?
  3. Automātiski izveidojiet un konfigurējiet Docker attēlus, izmantojot Dockerfile, vietnē CentOS/RHEL 7/6
  4. Kā noņemt dokeru attēlus, konteinerus un sējumus

Apsveriet to kā sākumpunktu un informējiet mūs, ja jums ir kādi jautājumi vai komentāri - ar prieku gaidīsim jūsu atbildi!