![Kā lietot nepārtrauktas izlaišanas (CR) repozitoriju CentOS](/f/9cd8c50a97a9c78ccf56f19e194aa08e.png?width=100&height=100)
Šī apmācība koncentrēsies uz to, kā izveidot pielāgotu Docker attēlu, pamatojoties uz to Ubuntu ar Apache pakalpojums ir instalēts. Viss process tiks automatizēts, izmantojot Dockerfile.
Docker attēlus var automātiski veidot no teksta failiem ar nosaukumu Dockerfiles. Docker failā ir soli pa solim pasūtītas instrukcijas vai komandas, ko izmanto, lai izveidotu un konfigurētu Docker attēlu.
Būtībā Docker fails satur dažādus norādījumus, lai izveidotu un konfigurētu noteiktu konteineru, pamatojoties uz jūsu prasībām. Visbiežāk tiek izmantoti šādi norādījumi, daži no tiem ir obligāti:
NO
= Obligāti kā pirmā instrukcija Docker failā. Norāda Docker izvilkt pamata attēlu, no kura veidojat jauno attēlu. Izmantojiet tagu, lai norādītu precīzu attēlu, no kura jūs veidojat:Piemēram: NO ubuntu: 20.04.
UZGLABĀTĀJS
= Būvējuma attēla autorsRUN
= Šo instrukciju var izmantot vairākās rindās un pēc Docker attēla izveides palaist visas komandas.CMD
= Palaidiet jebkuru komandu, kad tiek palaists Docker attēls. Dockerfile izmantojiet tikai vienu CMD instrukciju.IEEJAS PUNKTS
= Tāds pats kā CMD, bet tiek izmantots kā galvenā attēla komanda.EKSPOZĒT
= Norāda konteineram, ka tas darbojas, klausoties tīkla portos. Konteineru porti pēc noklusējuma nav pieejami no resursdatora.ENV
= Iestatiet konteinera vides mainīgos.PIEVIENOT
= Kopēt resursus (failus, direktorijus vai failus no URL).1. Pirmkārt, izveidosim kaut kādu Dockerfile krātuves, lai nākotnē atkārtoti izmantotu failus, lai izveidotu citus attēlus. Izveidojiet tukšu direktoriju kaut kur /var
nodalījumu, kurā mēs izveidosim failu ar norādījumiem, kas tiks izmantoti, lai izveidotu jauno Docker attēlu.
# mkdir -p/var/docker/ubuntu/apache. # touch/var/docker/ubuntu/apache/Dockerfile.
2. Pēc tam sāciet rediģēt failu ar šādiem norādījumiem:
# vi/var/docker/ubuntu/apache/Dockerfile.
Dokerfile fragments:
NO Ubuntu. UZGLABĀTĀJS jūsu_vārds <[e -pasts aizsargāts]> Palaidiet apt -get -y instalējiet apache2. RUN atbalss “Hello Apache server on Ubuntu Docker”> /var/www/html/index.html. EKSPOZĒT 80. CMD/usr/sbin/apache2ctl -D FOREGROUND.
Tagad apskatīsim faila norādījumus:
Pirmā rinda mums saka, ka mēs veidojam no Ubuntu attēlu. Ja neviens tags nav iesniegts, sakiet 14:10 piemēram, jaunākais attēls no Docker Hub tiek izmantots.
Otrajā rindā mēs esam pievienojuši vārds un e -pastu attēla veidotāja. Nākamie divi RUN veidojot attēlu, konteinerā tiks izpildītas līnijas un tiks instalētas Apache dēmons un atbalss kādu tekstu noklusējuma apache tīmekļa lapā.
EKSPOZĒT līnija norādīs dokeris konteiners, ko klausīties ostā 80, bet osta ārā nebūs pieejama. Pēdējā rindiņa uzdod konteineram priekšplānā palaist Apache pakalpojumu pēc konteinera palaišanas.
3. Pēdējā lieta, kas mums jādara, ir sākt attēla izveidi, izdodot zemāk esošo komandu, kas lokāli izveidos jaunu Docker attēlu ar nosaukumu ubuntu-apache
pamatojoties uz iepriekš izveidoto Dockerfile, kā parādīts šajā piemērā:
# docker build -t ubuntu -apache/var/docker/ubuntu/apache/
4. Pēc tam, kad attēls ir izveidots Docker, varat uzskaitīt visus pieejamos attēlus un identificēt savu attēlu, izdodot šādu komandu:
# piestātnes attēli.
5. Lai konteiners darbotos nepārtraukti (fonā) un piekļūtu konteineru atklātiem pakalpojumiem (porti) no resursdatora vai citas attālās ierīces jūsu LAN, izpildiet tālāk norādīto komandu saimniekdatora terminālī pamudināt:
# docker palaist -d -p 81:80 ubuntu -apache.
Lūk, -d
opcija palaiž ubuntu-apache
konteiners fonā (kā dēmons) un -lpp
opcija kartē konteinera ostu 80 uz vietējo resursdatora ostu 81. Ārpus LAN piekļuvi Apache pakalpojumam var sasniegt, izmantojot portu 81 tikai.
Netstat komanda sniegs jums priekšstatu par to, kādās ostās saimnieks klausās.
Pēc konteinera palaišanas varat arī palaist docker ps
komandu, lai apskatītu darbināmā konteinera statusu.
6. Tīmekļa lapu var parādīt jūsu saimniekdatorā no komandrindas, izmantojot čokurošanās utilīta pret jūsu ierīces IP adresi, localhost vai docker tīkla saskarni 81. portā. Izmantot IP komanda rinda, lai parādītu tīkla interfeisa IP adreses.
# ip addr [Sarakstīt Ņujorkas saskarnes] # curl ip-address: 81 [System Docker IP Address] # curl localhost: 81 [Localhost]
7. Lai no sava tīkla apmeklētu konteinera tīmekļa lapu, atveriet pārlūkprogrammu attālā vietā un izmantojiet HTTP protokolu, tās iekārtas IP adrese, kurā darbojas konteiners, kam seko ports 81, kā parādīts zemāk attēlu.
http://ip-address: 81.
8. Lai iegūtu informāciju par to, kādi procesi darbojas konteinera iekšpusē, izdodiet šādu komandu:
# docker ps. # piestātnes augšdaļa
9. Lai apturētu konteinera problēmu docker stop
komandu, kam seko konteinera ID vai nosaukums.
# piestātnes pietura# docker ps.
10. Ja konteineram vēlaties piešķirt aprakstošu nosaukumu, izmantojiet -vārds
opcija, kā parādīts zemāk esošajā piemērā:
# docker run -nosauciet manu -www -d -p 81:80 ubuntu -apache. # docker ps.
Tagad jūs varat atsaukties uz konteineru manipulācijām (sākums, pārtraukums, augšdaļa, statistika utt.), Tikai izmantojot piešķirto nosaukumu.
# docker statistika my-www.
11. Ieslēgts CentOS/RHEL jūs varat izveidot a sistematizēts konfigurācijas failu un pārvaldīt konteineru tāpat kā parasti citiem vietējiem pakalpojumiem.
Piemēram, izveidojiet jaunu sistematizētu failu ar nosaukumu, teiksim, apache-docker.pakalpojums
izmantojot šādu komandu:
# vi /etc/systemd/system/apache-docker.service.
apache-docker.pakalpojums faila fragments:
[Vienība] Apraksts = apache konteiners. Nepieciešams = docker.service. Pēc = docker.service [pakalpojums] Restartēt = vienmēr. ExecStart =/usr/bin/docker start -a my -www. ExecStop =/usr/bin/docker stop -t 2 my -www [Instalēt] WantedBy = local.target.
12. Kad esat pabeidzis faila rediģēšanu, aizveriet to, atkārtoti ielādējiet sistēmas dēmonu, lai atspoguļotu izmaiņas, un palaidiet konteineru, izdodot šādas komandas:
# systemctl dēmonu pārlādēšana. # systemctl start apache-docker.service. # systemctl statuss apache-docker.service.
Tas bija tikai vienkāršs piemērs tam, ko jūs varat darīt ar vienkāršu Dockerfile bet jūs varat iepriekš izveidot diezgan sarežģītas lietojumprogrammas, kuras var aktivizēt tikai dažu sekunžu laikā ar minimāliem resursiem un pūlēm.
Tālāka lasīšana: