![Nainštalujte Cacti (monitorovanie siete) na RHEL/CentOS 8/7 a Fedora 30](/f/fccccdc7abb6769b265acd3071bf2955.png?width=100&height=100)
Tento tutoriál sa zameria na to, ako vytvoriť vlastný obrázok Dockeru na základe Ubuntu s Apache nainštalovaná služba. Celý proces bude automatizovaný pomocou a Súbor docker.
Obrázky dockera je možné automaticky vytvárať z textových súborov s názvom Dockerfiles. Súbor Docker obsahuje krok za krokom usporiadané pokyny alebo príkazy používané na vytvorenie a konfiguráciu obrazu Dockeru.
Súbor Docker v zásade obsahuje rôzne pokyny na zostavenie a konfiguráciu konkrétneho kontajnera na základe vašich požiadaviek. Nasledujúce pokyny sú najpoužívanejšie, niektoré z nich sú povinné:
OD
= Povinné ako prvá inštrukcia v súbore Docker. Inštruuje Dockera, aby vytiahol základný obrázok, z ktorého vytvárate nový obrázok. Pomocou značky zadajte presný obrázok, z ktorého vytvárate:Príklad: Z ubuntu: 20.04.
ÚDRŽBA
= Autor vytvoreného obrazuSPUSTIŤ
= Túto inštrukciu je možné použiť na viacerých riadkoch a po vytvorení obrazu Dockera spustí všetky príkazy.CMD
= Spustite ľubovoľný príkaz pri spustení obrazu Dockera. V súbore Dockerfile používajte iba jednu inštrukciu CMD.VSTUPNÝ BOD
= Rovnaké ako CMD, ale používané ako hlavný príkaz pre obrázok.VYSTAVIŤ
= Inštruuje kontajner, aby pri spustení počúval sieťové porty. Porty kontajnera nie sú v predvolenom nastavení dostupné z hostiteľa.ENV
= Nastaviť premenné prostredia kontajnera.PRIDAŤ
= Skopírujte zdroje (súbory, adresáre alebo súbory z adries URL).1. Najprv vytvoríme nejaký druh Súbor docker archívy s cieľom opätovne použiť súbory v budúcnosti na vytváranie ďalších obrázkov. Vytvorte prázdny adresár niekde v /var
oddiel, kde vytvoríme súbor s pokynmi, ktoré budú použité na zostavenie nového obrazu Dockera.
# mkdir -p/var/docker/ubuntu/apache. # touch/var/docker/ubuntu/apache/Dockerfile.
2. Potom začnite upravovať súbor podľa nasledujúcich pokynov:
# vi/var/docker/ubuntu/apache/Dockerfile.
Výňatok z Dokerfile:
Z ubuntu. ÚDRŽBA vaše_názov <[chránené e -mailom]> SPUSTIŤ apt -get -y install apache2. SPUSTITE echo „Hello Apache server on Ubuntu Docker“> /var/www/html/index.html. EXPOZÍCIA 80. CMD/usr/sbin/apache2ctl -D FOREGROUND.
Teraz si prejdeme pokyny k súboru:
Prvý riadok nám hovorí, že staviame z Ubuntu obrázok. Ak nie je zadaná žiadna značka, povedzme 14:10 napríklad najnovší obrázok z Docker Hub sa používa.
V druhom riadku sme pridali príponu názov a e -mail tvorcu obrázku. Dalsie dve SPUSTIŤ riadky sa vykonajú v kontajneri pri vytváraní obrazu a nainštalujú sa Apache démon a ozvena nejaký text na predvolenú webovú stránku apache.
The VYSTAVIŤ linka dá pokyn Docker kontajner na počúvanie na porte 80, ale port nebude prístupný zvonku. Posledný riadok dáva kontajneru pokyn, aby po spustení kontajnera spustil službu Apache v popredí.
3. Posledná vec, ktorú musíme urobiť, je začať vytvárať obrázok zadaním nižšie uvedeného príkazu, ktorý lokálne vytvorí nový obrázok Dockera s názvom ubuntu-apache
na základe súboru Dockerfile vytvoreného skôr, ako je znázornené v tomto príklade:
# docker build -t ubuntu -apache/var/docker/ubuntu/apache/
4. Potom, čo bol obrázok vytvorený pomocou Docker„Môžete vypísať všetky dostupné obrázky a identifikovať ich pomocou nasledujúceho príkazu:
# obrázky dockera.
5. Aby bolo možné kontajner prevádzkovať nepretržite (na pozadí) a pristupovať k službám vystaveným kontajneru (porty) z hostiteľa alebo iného vzdialeného počítača vo vašej sieti LAN, spustite na hostiteľskom termináli nasledujúci príkaz výzva:
# docker run -d -p 81:80 ubuntu -apache.
Tu, -d
voľba spustí ubuntu-apache
kontajner na pozadí (ako démon) a -p
možnosť mapuje kontajnerový port 80 do vášho portu localhost 81. Mimo LAN je prístup k službe Apache dostupný cez port 81 iba.
Príkaz Netstat poskytne vám predstavu o tom, aké porty hostiteľ počúva.
Po spustení kontajnera môžete tiež bežať docker ps
príkaz na zobrazenie stavu spusteného kontajnera.
6. Webovú stránku je možné na vašom hostiteľovi zobraziť z príkazového riadka pomocou zvinúť nástroj proti IP adrese vášho počítača, localhostu alebo sieťovému rozhraniu dokovacej stanice na porte 81. Použite IP príkaz riadok na zobrazenie adries IP sieťového rozhrania.
# ip addr [Zoznam nových rozhraní] # curl ip-address: 81 [IP adresa systémového dockera] # curl localhost: 81 [Localhost]
7. Ak chcete navštíviť webovú stránku kontajnera zo siete, otvorte prehliadač na vzdialenom mieste a použite protokol HTTP, IP adresa počítača, na ktorom je spustený kontajner, a za ním port 81, ako je znázornené na obrázku nižšie obrázok.
http://ip-address: 81.
8. Ak chcete získať prehľad o tom, aké procesy prebiehajú vo vnútri kontajnera, zadajte nasledujúci príkaz:
# docker ps. # docker top
9. Ak chcete zastaviť problém s kontajnerom dokovacia zastávka
za ktorým nasleduje ID kontajnera alebo názov.
# docker stop# docker ps.
10. V prípade, že chcete kontajneru priradiť popisný názov, použite príponu --názov
možnosť, ako je uvedené v nasledujúcom príklade:
# docker run --name my -www -d -p 81:80 ubuntu -apache. # docker ps.
Teraz môžete na kontajner odkazovať na manipuláciu (štart, zastavenie, začiatok, štatistiky atď.) Iba pomocou priradeného názvu.
# docker stats my-www.
11. Zapnuté CentOS/RHEL môžete vytvoriť a systemd konfiguračný súbor a spravujte kontajner ako obvykle pre akúkoľvek inú lokálnu službu.
Napríklad vytvorte nový súbor systemd s názvom, povedzme, apache-docker.service
pomocou nasledujúceho príkazu:
# vi /etc/systemd/system/apache-docker.service.
apache-docker.service úryvok zo súboru:
[Jednotka] Popis = kontajner Apache. Vyžaduje = docker.service. After = docker.service [služba] Reštartovať = vždy. ExecStart =/usr/bin/docker start -a my -www. ExecStop =/usr/bin/docker stop -t 2 my -www [Inštalovať] WantedBy = local.target.
12. Keď dokončíte úpravu súboru, zatvorte ho, znova načítajte démona systemd, aby odrážal zmeny, a spustite kontajner zadaním nasledujúcich príkazov:
# systemctl znovu načítať démona. # systemctl spustite apache-docker.service. # systemctl status apache-docker.service.
Toto bol len jednoduchý príklad toho, čo môžete urobiť pomocou jednoduchého Súbor docker ale môžete vopred vytvoriť celkom sofistikované aplikácie, ktoré môžete spustiť s minimálnymi prostriedkami a námahou v priebehu niekoľkých sekúnd.
Ďalšie čítanie: