Kako nastaviti preprost spletni strežnik Apache v vsebniku Docker


Če ste sistemski skrbnik Linuxa, ki nudi podporo razvijalcem, ste verjetno slišali za Docker. Če ne, vam bo ta programska rešitev od danes olajšala življenje, saj vam bo med drugimi prednostmi pomagala zmanjšati operativne stroške in pospešiti uvajanje.

Ampak to ni čarovnija. Docker kot platforma uporablja vsebnike - pakete aplikacije skupaj z vsemi orodji, ki jih potrebuje za odpravo razlik med okolji.

Z drugimi besedami, programska oprema v zabojnikih bo delovala in jo bo mogoče dosledno upravljati ne glede na to, kje je nameščena. Poleg tega je zabojnike veliko lažje nastaviti, zagnati, ustaviti in vzdrževati kot dobre stare virtualne stroje. Če vas zanima več o razlikah med tema dvema tehnologijama, vam uradno spletno mesto Docker ponuja odlično razlago.

Za ponazoritev v tem članku bomo razložili, kako namestiti Docker na CentOS 7 in Ubuntu 16.04 ter iz Dockerjevega vozlišča zavrtiti vsebnik Apache 2.4.

Nato ga bomo uporabili za serviranje preproste spletne strani iz našega domačega imenika - vse brez potrebe po namestitvi spletnega strežnika na naš gostitelj.

Namestitev Dockerja na CentOS in Ubuntu

Za začetek namestimo Docker z naslednjim ukazom. S tem boste prenesli in zagnali lupinski skript, ki bo v naš sistem dodal skladišče Docker in namestil paket.

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

Nato z ukazom systemctl zaženite glavno storitev Docker in preverite njeno stanje.

# systemctl start docker
# systemctl status docker

Na tej točki lahko preprosto izvedemo.

# docker

za ogled seznama razpoložljivih ukazov ali za pomoč.

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

nam bo povedal, kako navesti vsebnike, ki so prisotni v našem sistemu, medtem ko

# docker run --help

bo natisnil vse možnosti, ki jih lahko uporabimo za manipulacijo s posodo.

Nastavitev vsebnika Apache

Ena izmed neverjetnih stvari o ekosistemu Docker je, da obstaja na desetine standardnih vsebnikov, ki jih lahko preprosto prenesete in uporabite. V naslednjem primeru bomo namestili vsebnik Apache 2.4 z imenom tecmint-web, ločen od trenutnega terminala. Uporabili bomo sliko, imenovano httpd: 2.4, iz Docker Hub -a.

Naš načrt je, da se zahteve na naš javni naslov IP na vratih 8080 preusmerijo na vrata 80 v vsebniku. Namesto da bi vsebino prikazovali iz samega vsebnika, bomo stregli preprosto spletno stran z/home/user/website.

To naredimo tako, da preslikamo/home/user/website/na/usr/local/apache2/htdocs/v vsebniku. Upoštevajte, da boste za nadaljevanje morali uporabiti sudo ali se prijaviti kot root, pri čemer ne smete izpustiti poševnic naprej na koncu vsakega imenika.

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

Na tej točki bi moral biti naš zabojnik Apache zagnan.

$ sudo docker ps

Ustvarimo preprosto spletno stran z imenom docker.html v imeniku/home/user/website.

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

V datoteko dodajte naslednji vzorec vsebine 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>

Nato usmerite brskalnik na AAA.BBB.CCC.DDD: 8080/docker.html (kjer je AAA.BBB.CCC.DDD javni naslov IP vašega gostitelja). Predstavila se vam bo stran, ki smo jo ustvarili prej.

Če želite, lahko kontejner ustavite.

$ sudo docker stop tecmint-web

in ga odstranite:

$ sudo docker rm tecmint-web

Če želite končati čiščenje, boste morda želeli izbrisati sliko, ki je bila uporabljena v vsebniku (opustite ta korak, če nameravate kmalu ustvariti druge vsebnike Apache 2.4).

$ sudo docker image remove httpd:2.4

Upoštevajte, da nam v vseh zgornjih korakih ni bilo treba namestiti spletnega strežnika na našo gostiteljsko enoto.

V tem članku smo razložili, kako namestiti Docker in upravljati vsebnik. Na žalost so to le osnove - obstajajo celi tečaji, knjige in certifikacijski izpiti, ki podrobneje pokrivajo Dockers (in kontejnerje na splošno).

Če želite izvedeti več o Dockerju, smo že obravnavali serijo treh člankov, ki pojasnjuje, kako namestiti Docker, zagnati aplikacije v vsebnike in samodejno ustvariti slike dockerja z datoteko dockerfile.

  1. Namestite Docker in se naučite osnovnih manipulacij vsebnikov v CentOS in RHEL 7/6
  2. Kako razmestiti in zagnati aplikacije v vsebnikih Docker na CentOS/RHEL 7/6
  3. Samodejno sestavi in konfiguriraj slike Dockerja z Dockerfile na CentOS/RHEL 7/6
  4. Kako odstraniti slike, vsebnike in nosilce Docker

Upoštevajte to kot svoje izhodišče in nam sporočite, če imate kakršna koli vprašanja ali pripombe - z veseljem pričakujemo vaš odgovor!