Docker Compose predstavlja alat za definisanje i pokretanje višestrukih Docker kontejnera kroz deklarativni pristup. Uz njegovu pomoć, konfiguraciju svojih kontejnera možete opisati u YAML datoteci, omogućavajući brzo pokretanje i zaustavljanje celog seta kontejnera jednom komandom. Ovo ga čini izuzetno pogodnim za razvoj, testiranje i implementaciju aplikacija koje se sastoje od više međusobno povezanih servisa.
Ovaj vodič će vas detaljno provesti kroz proces instalacije i upotrebe Docker Compose-a na operativnom sistemu Rocky Linux 9. Pružićemo vam detaljne instrukcije, primere i savete za rešavanje potencijalnih problema u svakom koraku.
Kako Instalirati Docker Compose
Prvi korak u ovom procesu je instalacija Docker Compose-a na vašem Rocky Linux 9 sistemu.
Korak 1: Instalacija Pip-a
Docker Compose koristi Pip za upravljanje zavisnostima. Osigurajte da je Pip već instaliran na vašem sistemu izvršavanjem sledeće komande:
sudo dnf install python3-pip
Korak 2: Instalacija Docker Compose-a
Sada, koristite Pip za instaliranje Docker Compose-a:
sudo pip3 install docker-compose
Korak 3: Provera Uspešne Instalacije
Da biste potvrdili uspešnu instalaciju Docker Compose-a, izvršite sledeću komandu:
docker-compose --version
U terminalu bi trebalo da se prikaže verzija instaliranog Docker Compose-a.
Upotreba Docker Compose-a
Nakon uspešne instalacije, možemo početi sa korišćenjem Docker Compose-a za definisanje i pokretanje setova Docker kontejnera.
Korak 1: Kreiranje Docker Compose Datoteke
Docker Compose koristi YAML datoteku za deklarativno opisivanje konfiguracije vaših kontejnera. Napravite novu datoteku pod imenom docker-compose.yml
i u njoj definišite željene kontejnerske konfiguracije.
Na primer, da biste definisali Nginx i MongoDB kontejner, sadržaj docker-compose.yml
datoteke bi mogao da izgleda ovako:
version: '3' services: nginx: image: nginx:latest ports: - "80:80" mongodb: image: mongo:latest volumes: - ./data:/data/db
Korak 2: Pokretanje Kontejnera
Za pokretanje svih kontejnera definisanih u docker-compose.yml
datoteci, izvršite sledeću komandu:
docker-compose up
Ova komanda će pokrenuti sve kontejnera u prvom planu. Da biste ih pokrenuli u pozadini, dodajte opciju -d
:
docker-compose up -d
Korak 3: Zaustavljanje Kontejnera
Kada završite sa radom, možete zaustaviti kontejnera koristeći sledeću komandu:
docker-compose down
Korak 4: Uklanjanje Kontejnera
Da biste u potpunosti uklonili kontejnera, kao i sve povezane volume, koristite:
docker-compose down --volumes
Napredne Funkcionalnosti
Docker Compose nudi niz naprednih opcija koje mogu povećati vašu produktivnost i fleksibilnost.
Skaliranje Kontejnera
Možete lako skalirati broj instanci vašeg kontejnera koristeći opciju scale
. Na primer, za skaliranje Nginx kontejnera na 2 instance, koristite sledeću komandu:
docker-compose scale nginx=2
Ograničenje Resursa
Docker Compose omogućava postavljanje ograničenja resursa za svaki kontejner. Da biste ograničili memoriju Nginx kontejnera na 128 megabajta, u vašu docker-compose.yml
datoteku dodajte sledeće polje:
resources: limits: memory: 128M
Obnavljanje Slika
Docker Compose može automatski preuzeti najnoviju verziju Docker slika dodavanjem opcije pull
. Na primer, da biste uvek imali najnoviju verziju Nginx slike, u docker-compose.yml
datoteku dodajte:
image: nginx:latest pull: always
Zaključak
Docker Compose je moćan alat koji značajno olakšava upravljanje višestrukim Docker kontejnerima. Pomoću njega, možete definisati složene aplikacije u jednoj YAML datoteci i lako upravljati njihovim životnim ciklusom.
Ovaj vodič pružio je detaljne korake za instalaciju i korišćenje Docker Compose-a na Rocky Linux 9, kao i napredne funkcionalnosti koje vam mogu pomoći da unapredite vaše aplikacije.
Ako naiđete na bilo kakve probleme ili imate dodatna pitanja, preporučujemo da se obratite zvaničnom Docker Compose forumu.
Često Postavljana Pitanja (FAQ)
1. Da li je Docker neophodan pre upotrebe Docker Compose-a?
Da, Docker mora biti instaliran na vašem sistemu pre nego što možete koristiti Docker Compose.
2. Koja je razlika između Docker-a i Docker Compose-a?
Docker je platforma za kontejnerizaciju, dok je Docker Compose alat koji pojednostavljuje upravljanje više kontejnera koji čine jednu aplikaciju.
3. Gde mogu pronaći primere Docker Compose datoteka?
Primere Docker Compose datoteka možete pronaći na zvaničnom GitHub repozitorijumu: https://github.com/docker/compose/tree/main/examples
4. Da li Docker Compose može upravljati kontejnerima na različitim serverima?
Ne, Docker Compose je dizajniran za upravljanje kontejnerima koji se pokreću na jednom hostu.
5. Šta je YAML datoteka?
YAML (YAML Ain’t Markup Language) je format za serijalizaciju podataka čitljiv i za ljude i mašine. Docker Compose koristi YAML za definisanje konfiguracije kontejnera.
6. Kako da otklonim probleme sa Docker Compose-om?
Za detaljniji izlaz koristite opciju --verbose
. Takođe, proverite datoteku docker-compose.log
za više informacija o greškama.
7. Šta su volumeni u Docker Compose-u?
Volumeni omogućavaju kontejnerima da čuvaju podatke i nakon brisanja kontejnera. Definišu se u docker-compose.yml
datoteci koristeći opciju volumes
.
8. Šta znači skaliranje u Docker Compose-u?
Skaliranje omogućava pokretanje više identičnih kontejnera za povećanje performansi i dostupnosti aplikacije.
9. Da li Docker Compose podržava promenljive okruženja?
Da, promenljive okruženja možete definisati u docker-compose.yml
datoteci pomoću opcija env_file
ili environment
.
10. Koje opcije mogu koristiti za pokretanje jednog specifičnog servisa u Docker Compose-u?
Umesto docker-compose up
, koristite docker-compose up [ime_servisa]
. Na primer, ako želite da pokrenete samo Nginx, koristite docker-compose up nginx
.