Natrag na blog

Instalacija Docker Composea na CentOS 7

Instalacija Docker Composea na CentOS 7

Dockerizacija je redefinirala proces implementacije i automatizacije u softverskoj industriji. Od svog nastanka, Docker tim neprestano nastoji učiniti automatiziranu implementaciju besprijekornom. Tehnologija kontejnerizacije ne samo da omogućuje brzi razvoj aplikacija i učinkovitost, već i štedi vrijeme i napor. Neusporedive funkcionalnosti kao što su orkestracija, definiranje i pokretanje aplikacija s više kontejnera zajedno čine Docker omiljenim izborom za programere.

Docker kontejneri i slike

Dok zaranjate u dublje razumijevanje Dockera, bitno je ponoviti osnove. Razumijevanje načina na koji Docker radi može biti škakljivo ako nemate iskustva u radu s njim. U ovom odjeljku definirat ćemo nekoliko pojmova koji su ključni za početnike. Ako smatrate da ste upoznati s ovim pojmovima, slobodno ih preskočite i prijeđite na sljedeći odjeljak. Također možete pogledati naš sveobuhvatni vodič koji objašnjava temeljne Docker koncepte.

  • Docker slike

Docker slike su zbirka datoteka samo za čitanje. Nakon što stvorite Docker slike, ne možete ih mijenjati, iako je dopušteno brisanje. Koristimo Docker sliku za stvaranje jednog ili više Docker kontejnera prema našim potrebama. Da biste provjerili broj slika koje se izvode na vašem sustavu, upotrijebite naredbu:

Kada povlačite slike iz udaljenog registra kao što je Docker Hub, preuzimate datoteke i mape. Za povlačenje slike upotrijebite naredbu:

  • Docker kontejneri

Docker slike su nacrt za Docker kontejnere. Tehnički, Docker kontejner je instanca Docker slike. Zamislite, ako je Docker slika poput roditelja, onda je Docker kontejner dijete. Za razliku od Docker slika koje možete stvoriti jednom, možete stvoriti više kontejnera pomoću jedne slike. Da biste provjerili popis slika koje se izvode na vašem sustavu, upotrijebite naredbu:

Za povlačenje kontejnera upotrijebite sljedeću naredbu:

  • Kako rade Docker slike i kontejneri

Docker slike i kontejneri rade ruku pod ruku kako bi oslobodili potencijal Dockera. Pojedinačni kontejner gradi se pomoću Docker slike kroz naredbu run. Kada stvorite Docker kontejner, stvara se novi sloj poznat kao Container Layer. Novostvoreni sloj sadrži aplikaciju i njezine ovisnosti. Svaki kontejner koji stvorite ima različit Container Layer za čitanje/pisanje, a sve promjene napravljene u Docker kontejneru automatski se odražavaju na Container Layer. Zapamtite, ako odlučite izbrisati kontejner, izgubit ćete i Container Layer.

Pozdravite Docker Compose

Docker Compose je alat za upravljanje kontejnerima koji vam omogućuje konfiguraciju i orkestraciju svih vaših Docker kontejnera u jednu YAML datoteku. Pokretanje, zaustavljanje i stvaranje veza i volumena unutar kontejnera olakšani su ovim alatom.

  • Što radi Docker Compose?

Jednostavno rečeno, Docker Compose olakšava složene zadatke uklanjanjem konflikata i organizacijskih problema. Omogućuje korisnicima centralizirano upravljanje različitim Docker kontejnerima. Drugim riječima, umjesto da ima sve usluge u jednom velikom kontejneru, Docker Compose rastavlja uslugu na više usluga kako bi im korisnici mogli pristupiti i upravljati njima bez napora.

U ovom vodiču, provest ćemo vas kroz korake instalacije trenutne verzije Docker Composea za upravljanje aplikacijama s više kontejnera na CentOS-u 7. Također ćemo proći kroz neke osnovne naredbe koje su vam potrebne za uspješno korištenje softvera.

  • Kako koristiti Docker Compose

Korištenje Docker Composea iznimno je jednostavno, čak i za početnike. Pogledajmo proces u tri koraka koji uključuje Docker Compose:

1. Izgradnja: Najprije izgradite slike u Dockerfileu prema potrebama vašeg projekta ili ih eventualno povucite iz registra.

2. Definiranje: Zatim trebate definirati sve usluge komponenti u compose.yml datoteci.

3. Pokretanje: Nakon definiranja komponenti, vrijeme je za pokretanje pomoću docker-compose naredbe.

Preduvjeti

Prije nego što nastavimo s instalacijom Docker Composea na vaš CentOS poslužitelj, provjerite imate li:

Sada ste spremni. Zatim slijedite korake u nastavku kako biste instalirali Docker Compose na CentOS 7.

Korak 1: Instalacija Docker Composea

Kako biste preuzeli najnoviju verziju Docker Composea, slijedite upute u Docker dokumentaciji i preuzmite binarne datoteke s Docker’ovog GitHub repozitorija. Provjerite imate li najnoviju verziju softvera pokretanjem naredbe u nastavku:

Kako biste omogućili pokretanje binarne datoteke, postavite dopuštenja u nastavku:

Zatim potražite svoju verziju kako biste provjerili je li instalacija bila uspješna:

Kod u nastavku ispisat će instaliranu verziju:

docker-compose --version

Zatim možete pokrenuti “Hello World” primjer koristeći Docker Compose koji ste instalirali.

Korak 2: Korištenje Docker Composea za pokretanje spremnika

U Docker Hubu, javnom Docker registru, nalazi se slika “Hello World” koja se može koristiti za demonstraciju i testiranje. Ona prikazuje kako pokrenuti spremnik koristeći Docker Compose s minimalnom konfiguracijom. Prvo morate stvoriti direktorij za našu YAML datoteku:

Zatim prijeđite u ovaj direktorij:

Zatim, koristeći svoj omiljeni uređivač teksta, generirajte YAML datoteku. U ovom vodiču koristit ćemo Vi:

Pritisnite i kako biste ušli u način umetanja, a zatim upišite ovo u datoteku:

U naziv spremnika bit će ugrađen prvi redak. Drugi redak upućuje program koju sliku treba koristiti za stvaranje spremnika. docker-composeup će potražiti lokalnu sliku pod nazivom hello-world kako bi provjerio je li dostupna kada upišete naredbu. Za izlazak iz načina umetanja pritisnite ESC. Zatim unesite :x i pritisnite ENTER kako biste spremili i zatvorili datoteku. Naredba docker images može se koristiti za ručnu provjeru slika na vašem računalu:

Prikazuju se samo zaglavlja stupaca kada uopće nema lokalnih slika:

Docker Compose on CentOS 6

Za stvaranje spremnika pokrenite ovu naredbu dok ste još u direktoriju /hello-world:

Kada pokrenete naredbu prvi put, a lokalna slika pod nazivom hello-world ne postoji, ona će se preuzeti iz Docker Hub repozitorija:

sudo docker-compose up

Kako bi se osiguralo da instalacija radi, Docker Compose povlači sliku, gradi spremnik, povezuje ga i izvršava program hello:

hello program

Nakon toga prikazuje se ispis opisa onoga što je učinjeno:

Docker Compose on CentOS 3

Kada hello završi svoju zadaću, spremnik će se ugasiti i naredba se više neće izvršavati u spremniku. Zaglavlja stupaca prikazat će se pri pregledu aktivnih procesa. Međutim, spremnik hello-world neće biti na popisu jer trenutno ne radi:

sudo docker ps

Za prikaz svih spremnika, a ne samo trenutnih, koristite -a zastavicu:

Docker Compose 2

Sada kada ste isprobali pokretanje spremnika, možete nastaviti s učenjem nekih od osnovnih naredbi Docker Composea.

Korak 3: Naredbe Docker Composea

Kako bismo vas uveli u rad s Docker Composeom, ovaj će odjeljak proći kroz osnovne naredbe koje pruža alat docker-compose. docker-compose je naredba koja radi na bazi pojedinačnih direktorija. Generiranjem jednog direktorija za svaki spremnik i jedne docker-compose.yml datoteke po direktoriju, možete pokrenuti više grupa Docker spremnika na istom računalu.

Do sada ste sami pokretali Docker Compose. Možete ga isključiti pritiskom na Ctrl-C. To omogućuje prozoru terminala prikaz poruka o ispravljanju pogrešaka. Međutim, preporučljivo je pokrenuti docker-compose kao uslugu kada radite u produkciji. Opcija -d može se koristiti kao jednostavan način da se to postigne:

Sada se docker-compose pokreće u pozadini. Vašom grupom Docker spremnika (bilo zaustavljenih ili pokrenutih) može se upravljati sljedećom naredbom:

Stanje State spremnika bit će prijavljeno kao Exited ako je zaustavljen, kao što je prikazano u primjeru u nastavku:

Docker Compose on CentOS 5

Spremnik koji je trenutno pokrenut prikazat će:

Možete prekinuti sve pokrenute Docker spremnike u istom direktoriju u kojem se nalazi docker-compose.yml datoteka koju ste koristili za pokretanje Docker grupe:

Napomena: Ako trebate prisilno ugasiti stvari, docker-compose kill je također dostupan.

U nekim slučajevima, Docker spremnici mogu spremiti svoje stare podatke unutra. Koristite naredbu rm za uklanjanje svih spremnika iz vaše grupe spremnika ako želite početi ispočetka:

Pokretanje bilo koje od ovih naredbi iz drugog direktorija osim onog u kojem se nalaze Docker spremnik i .yml datoteka rezultirat će porukom o pogrešci:

U ovom odjeljku pokrili smo osnove upravljanja spremnicima pomoću Docker Composea. Kao što je rečeno, u sljedećem odjeljku možete pristupiti Docker datotečnom sustavu i pokretati naredbe iz naredbenog retka unutar spremnika ako vam je potrebna dodatna kontrola nad vašim spremnicima.

Korak 4: Pristup datotečnom sustavu Docker spremnika

Moguće je pokrenuti naredbeni redak u spremniku i pristupiti datotečnom sustavu spremnika pomoću docker exec, što je alat naredbenog retka. Kao primjer, pokrenite “Hello World” i pogledajte koliko je vremena potrebno da se završi naredba docker exec. Za potrebe ovog vodiča može se koristiti Docker Hub slika Nginxa. Stvorite novi direktorij pod nazivom nginx i prijeđite u njega:

Sada biste trebali imati docker-compose.yml datoteku, koju možete otvoriti u uređivaču teksta:

Zatim u datoteku dodajte sljedeće:

Vrijeme je za zatvaranje aplikacije. Za pokretanje Nginx spremnika u pozadini, koristite sljedeću naredbu:

Docker Compose on CentOS 1

Docker Compose će preuzeti Nginx sliku i pokrenuti spremnik u pozadini. Za nastavak, morat ćete unijeti CONTAINER ID.  Možete pregledati sve trenutno pokrenute spremnike sa sljedećom naredbom:

Vidjet ćete sljedeće:

 Docker Compose on CentOS 4

Ako želite promijeniti datotečni sustav unutar ovog spremnika, koristeći docker exec, upotrijebili biste jedinstveni ID spremnika (u ovom slučaju, f139d0d78ca7) za stvaranje ljuske unutar spremnika:

sudo docker exec -it

Interaktivni terminal može se otvoriti pomoću opcije -t, dok /bin/bash pruža spremniku bash ljusku. Ovo je bash upit koji ćete nakon toga vidjeti za spremnik:

Unutar vašeg spremnika pronaći ćete naredbeni redak. Ponovno pokretanje spremnika prepisat će sve promjene koje ste napravili, osim ako ne radite u direktoriju koji je spremljen kao dio podatkovnog volumena. Ako ste navikli raditi s Linux naredbenim retkom, trebali biste znati da se većina Docker slika proizvodi koristeći najosnovnije instalacije Linuxa.

Zaključak

Proveli smo vas kroz korake instalacije trenutne verzije Docker Composea za upravljanje aplikacijama s više spremnika na CentOS-u 7. Sposobnost Docker Composea da istovremeno pokreće i gasi veliki broj spremnika je impresivna. Prijelaz s predložaka na aplikacije traje nekoliko minuta. Stoga, ako vaš rad uključuje pokretanje više spremnika odjednom, držanje Docker Composea izvrsna je opcija. Ipak, to nije rješenje koje odgovara svima. Također možete pronaći neke bolje opcije, ovisno o vašim specifičnim potrebama, na primjer, Kubernetes.

Kako biste dodatno istražili moć Docker Composea, možete pogledati ove vodiče s našeg bloga:

Ugodan rad!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.