Kaip įdiegti „Apache“ „Docker“ konteineryje sistemoje „Linux“.


Jei esate „Linux“ sistemos administratorius, teikiantis palaikymą kūrėjams, tikėtina, kad esate girdėję apie Docker. Jei ne, šis programinės įrangos sprendimas palengvins jūsų gyvenimą nuo šiandien, nes, be kitų privalumų, padės sumažinti veiklos sąnaudas ir paspartinti diegimą.

Bet tai nėra magija. Docker kaip platforma naudoja konteinerius – programos paketus kartu su visais įrankiais, kurių jai reikia, kad būtų pašalinti skirtumai tarp aplinkų.

Kitaip tariant, konteinerinė programinė įranga veiks ir gali būti nuosekliai valdoma, nepaisant to, kur ji įdiegta. Be to, konteinerius daug lengviau nustatyti, paleisti, sustabdyti ir prižiūrėti nei senas geras virtualias mašinas.

Jei norite sužinoti daugiau apie šių dviejų technologijų skirtumus, oficialioje „Docker“ svetainėje pateikiamas puikus paaiškinimas.

Norėdami iliustruoti, šiame straipsnyje paaiškinsime, kaip įdiegti Docker CentOS/RHEL, Rocky/Alma Linux ir Debian/ Ubuntu ir sukurkite Apache 2.4 konteinerį iš Docker Hub.

Tada naudosime jį paprastam tinklalapiui iš savo namų katalogo aptarnauti – visa tai nereikės įdiegti žiniatinklio serverio savo priegloboje.

„Docker“ diegimas sistemoje „Linux“.

Norėdami pradėti, įdiegkime Docker naudodami šią curl komandą. Tai atsisiųs ir paleis apvalkalo scenarijų, kuris pridės „Docker“ saugyklą prie mūsų sistemos ir įdiegs paketą.

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

Tada naudokite komandą systemctl, kad paleistumėte pagrindinę Docker paslaugą, įgalinkite ją paleisti iš naujo ir patikrinkite jos būseną.

systemctl start docker
systemctl enable docker
systemctl status docker

Šiuo metu galime tiesiog vykdyti.

docker

norėdami peržiūrėti galimų komandų sąrašą arba gauti pagalbos.

docker COMMAND --help
docker ps --help

pasakys, kaip išvardyti mūsų sistemoje esančius konteinerius, tuo tarpu

docker run --help

išspausdins visas parinktis, kurias galime naudoti norėdami valdyti konteinerį.

„Apache“ konteinerio nustatymas

Vienas iš nuostabių dalykų, susijusių su Docker ekosistema, yra tai, kad yra dešimtys standartinių konteinerių, kuriuos galite lengvai atsisiųsti ir naudoti.

Toliau pateiktame pavyzdyje sukursime Apache 2.4 sudėtinį rodinį, pavadintą tecmint-web, atskirtą nuo dabartinio terminalo. Naudosime vaizdą pavadinimu httpd:2.4Docker Hub.

Planuojame, kad užklausos, pateiktos viešuoju IP adresu 8080 prievade, būtų peradresuotos į konteinerio prievadą 80. Be to, užuot teikę turinį iš paties sudėtinio rodinio, pateiksime paprastą tinklalapį iš /home/user/website.

Tai darome susiedami /home/user/website/, esantį /usr/local/apache2/htdocs/ sudėtiniame rodinyje. Atminkite, kad norėdami tęsti turėsite naudoti sudo arba prisijungti kaip root, ir nepraleiskite pasvirųjų brūkšnių kiekvieno katalogo pabaigoje.

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

Šiuo metu mūsų Apache sudėtinis rodinys turėtų būti parengtas ir paleistas.

sudo docker ps

Dabar kataloge /home/user/website sukurkime paprastą tinklalapį pavadinimu docker.html.

vi /home/user/website/docker.html

Pridėkite toliau pateiktą HTML turinio pavyzdį prie failo.

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

Tada nukreipkite naršyklę į Server-IP:8080/docker.html (kur Server-IP yra jūsų prieglobos viešasis IP adresas). Jums turėtų būti pateiktas puslapis, kurį sukūrėme anksčiau.

Jei norite, dabar galite sustabdyti konteinerį.

sudo docker stop tecmint-web

ir pašalinkite:

sudo docker rm tecmint-web

Norėdami baigti valymą, galbūt norėsite ištrinti vaizdą, kuris buvo naudojamas sudėtiniame rodinyje (praleiskite šį veiksmą, jei netrukus planuojate kurti kitus Apache 2.4 sudėtinius rodinius).

sudo docker image remove httpd:2.4

Atminkite, kad atliekant visus aukščiau nurodytus veiksmus, mes niekada neturėjome įdiegti žiniatinklio serverio savo priegloboje.

Santrauka

Šiame straipsnyje paaiškinome, kaip įdiegti Docker ir valdyti sudėtinį rodinį. Deja, tai tik pagrindai – yra ištisi kursai, knygos ir sertifikavimo egzaminai, kuriuose išsamiau aptariami Dockers (ir apskritai konteineriai).

Jei norite sužinoti daugiau apie Docker, jau apžvelgėme 3 straipsnių seriją, kurioje paaiškinama, kaip įdiegti „Docker“, paleisti programas į konteinerius ir automatiškai kurti „Docker“ vaizdus naudojant „Docker“ failą.

  • Įdiekite „Docker“ ir išmokite pagrindinį konteinerių manipuliavimą „CentOS“ ir RHEL
  • Kaip įdiegti ir paleisti programas „Docker“ konteineriuose „CentOS/RHEL“.
  • Automatiškai kurkite ir konfigūruokite „Docker“ vaizdus naudodami „Dockerfile“ sistemoje „CentOS/RHEL“.
  • Kaip pašalinti „Docker“ vaizdus, konteinerius ir tomus

Apsvarstykite tai kaip pradinį tašką ir praneškite mums, jei turite klausimų ar komentarų – lauksime jūsų!