Инсталација и коришћење Docker Compose-а на Rocky Linux 9

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.