Linux-da Docker konteýnerinde Apache-ni nädip gurmaly


Döredijilere goldaw berýän Linux ulgamynyň dolandyryjysy bolsaňyz, Docker hakda eşidip bilersiňiz. Notok bolsa, bu programma üpjünçiligi çözgüdi, beýleki peýdalaryň arasynda operasiýa çykdajylaryny azaltmaga we ýerleşdirmegi çaltlaşdyrmaga kömek edip, şu günden başlap durmuşyňyzy aňsatlaşdyrar.

Emma bu jady däl. Docker platforma hökmünde konteýnerleri - daşky gurşawyň arasyndaky tapawudy aradan aýyrmak üçin işlemeli ähli gurallar bilen bir hatarda programma bukjalaryny ulanýar.

Başgaça aýdylanda, konteýnerleşdirilen programma üpjünçiligi işleýär we nirede gurlandygyna garamazdan yzygiderli dolandyrylyp bilner. Mundan başga-da, konteýnerleri gowy köne wirtual maşynlara garanyňda gurmak, başlamak, saklamak we saklamak has aňsat.

Bu iki tehnologiýanyň arasyndaky tapawutlar barada has köp bilmek isleseňiz, resmi Docker web sahypasy ajaýyp düşündiriş berýär.

Mysal üçin, bu makalada CentOS/RHEL, Rocky/Alma Linux we Debian/Ubuntu-da Docker-i nädip gurmalydygyny we Docker Hub-dan Apache 2.4 konteýnerini aýlamagy düşündireris.

Soňra ony baş katalogymyzdan ýönekeý web sahypasyna hyzmat etmek üçin ulanarys - hemmesini öý eýesine web serweri gurmagyň zerurlygy ýok.

Linux-da Docker gurmak

Başlamak üçin, aşakdaky curl buýrugyny ulanyp, Docker guralyň. Bu, ulgamymyza Docker ammaryny goşjak we bukjany gurjak gabyk skriptini göçürip alar.

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

Ondan soň, esasy Docker hyzmatyny başlamak, täzeden açylanda başlamaga mümkinçilik bermek we ýagdaýyny barlamak üçin systemctl buýrugyny ulanyň.

# systemctl start docker
# systemctl enable docker
# systemctl status docker

Bu pursatda diňe ýerine ýetirip bileris.

# docker

elýeterli buýruklaryň sanawyny görmek ýa-da kömek almak.

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

ulgamymyzda bar bolan konteýnerleri nädip sanawlamalydygyny aýdyp berer

# docker run --help

konteýner dolandyrmak üçin ulanyp boljak ähli wariantlarymyzy çap eder.

Apache konteýnerini gurmak

Docker ekosistemasy bilen baglanyşykly haýran galdyryjy zatlaryň biri, aňsatlyk bilen göçürip alyp we ulanyp boljak onlarça adaty gaplaryň bolmagydyr.

Aşakdaky mysalda, häzirki terminaldan aýrylan, tecmint-web atly Apache 2.4 konteýnerini derrew ulanarys. Docker Hub-dan httpd: 2.4 atly şekili ulanarys.

Biziň meýilnamamyz, 8080-nji portdaky köpçülige açyk IP adresimize edilen haýyşlary konteýnerdäki 80-nji porta gönükdirmekdir. Şeýle hem, konteýneriň mazmunyny ýerine ýetirmegiň ýerine,/home/user/web sahypasyndan ýönekeý web sahypasyna hyzmat ederis.

Biz muny/öý/ulanyjy/web sahypasy// usr/ýerli/apache2/htdocs/konteýnerde kartalaşdyrmak arkaly edýäris. Dowam etmek üçin sudo ýa-da login kök hökmünde ulanmalydygyňyzy unutmaň we her katalogyň soňundaky çyzgylary goýmaň.

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

Şu wagt Apache konteýnerimiz işlemeli we işlemeli.

$ sudo docker ps

Indi/home/user/website katalogynyň içinde docker.html atly ýönekeý web sahypasyny döredeliň.

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

Aşakdaky HTML mazmunyny faýla goşuň.

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

Ondan soň, brauzeriňizi Server-IP: 8080/docker.html görkeziň (bu ýerde Server-IP öý eýesiniň umumy IP adresi). Size öň döreden sahypamyz hödürlenmeli.

Isleseňiz, indi konteýner saklap bilersiňiz.

$ sudo docker stop tecmint-web

we aýyryň:

$ sudo docker rm tecmint-web

Arassalamagy tamamlamak üçin, konteýnerde ulanylan şekili pozup bilersiňiz (ýakyn wagtda beýleki Apache 2.4 konteýnerlerini döretmegi meýilleşdirýän bolsaňyz, bu ädimi taşlaň).

$ sudo docker image remove httpd:2.4

Aboveokardaky ädimleriň hemmesinde web serwerini öý eýesine gurnamaly däldigimize üns beriň.

Bu makalada Docker-i nädip gurmalydygyny we bir konteýner dolandyrmalydygyny düşündirdik. Gynansagam, bular diňe esaslar - Dokerleri (we umuman konteýnerleri) öz içine alýan ähli kurslar, kitaplar we sertifikat synaglary bar.

Docker hakda has giňişleýin öwrenmek isleseňiz, Docker-i nädip gurmalydygyny, programmalary konteýnerlere işletmelidigini we dokerfile bilen doker şekillerini awtomatiki usulda gurjakdygyny düşündirýän 3 makalaly seriýany açdyk.

  • Docker guruň we CentOS we RHEL-de esasy konteýner manipulýasiýasyny öwreniň
  • CentOS/RHEL-de doker konteýnerlerine programmalary nädip ýerleşdirmeli we işletmeli
  • CentOS/RHEL-de Dockerfile bilen Docker suratlaryny awtomatiki guruň we sazlaň
  • Doker suratlaryny, konteýnerleri we göwrümleri nädip aýyrmaly

Muny başlangyç nokadyňyz hökmünde kabul ediň we soraglaryňyz ýa-da teswirleriňiz bar bolsa bize habar beriň - biz sizden eşitmäge sabyrsyzlyk bilen garaşýarys!