Nov 13, 2023

docker ps

 Docker komanda docker ps se koristi za prikazivanje informacija o trenutno pokrenutim Docker kontejnerima na vašem sistemu. Ova komanda može biti korisna za praćenje statusa i osnovnih informacija o vašim kontejnerima. Evo osnovnog korišćenja komande docker ps:

Osnovna upotreba:

docker ps

Ova komanda će prikazati listu trenutno pokrenutih kontejnera sa sledećim informacijama:

  • CONTAINER ID: Jedinstveni identifikator kontejnera.
  • IMAGE: Ime Docker Image-a na osnovu kojeg je pokrenut kontejner.
  • COMMAND: Komanda koja se izvršava unutar kontejnera.
  • CREATED: Vreme od pokretanja kontejnera.
  • STATUS: Trenutni status kontejnera (npr. "Up" ili "Exited").
  • PORTS: Portovi koje kontejner izlaže na host sistem.

Prikaz svih kontejnera, uključujući zaustavljene:

docker ps -a

Dodavanjem opcije -a (ili --all), komanda će prikazati sve kontejnere, uključujući one koji su zaustavljeni.

Prikaz informacija u formatu tabela:

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"

Ova komanda koristi opciju --format kako bi se prikazale specifične informacije u obliku tabele. U ovom primeru, prikazuju se ID, ime, image i status kontejnera.

Primeri:

  1. Prikaz aktivnih kontejnera:

    docker ps
  2. Prikaz svih kontejnera (uključujući zaustavljene):

    docker ps -a
  3. Prikaz informacija u obliku tabele:

    docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"

Ove komande će vam pomoći da pratite i pregledate informacije o vašim Docker kontejnerima na sistemu.

Instalacija Docker-a na Linux-u

 Instalacija Docker-a na Linux-u obično uključuje nekoliko koraka. Postoje različite distribucije Linux-a, pa će detalji malo varirati, ali ovde ću vam dati osnovne smernice.

Instalacija Docker-a na Ubuntu

  1. Ažuriranje paketa:

    sudo apt-get update
    sudo apt-get upgrade
  2. Instalacija paketa za podršku HTTPS:

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  3. Dodavanje Docker GPG ključa:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. Dodavanje Docker apt repozitorijuma:

    echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. Ažuriranje paketa i instalacija Docker-a:

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  6. Dodavanje korisnika u Docker grupu (opciono, za pokretanje Docker komandi bez sudo-a):

    sudo usermod -aG docker $USER
  7. Restartovanje sistema ili Docker servisa:

    sudo systemctl restart docker

Instalacija Docker-a na CentOS

  1. Instalacija potrebnih alata:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  2. Postavljanje Docker repozitorijuma:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Instalacija Docker-a:

    sudo yum install docker-ce docker-ce-cli containerd.io
  4. Startovanje Docker servisa:

    sudo systemctl start docker
  5. Dodavanje korisnika u Docker grupu (opciono, za pokretanje Docker komandi bez sudo-a):

    sudo usermod -aG docker $USER
  6. Restartovanje sistema ili Docker servisa:

    sudo systemctl restart docker

Nakon ovih koraka, Docker bi trebalo da bude uspešno instaliran na vašem Linux sistemu. Možete proveriti instalaciju pokretanjem komande docker --version. Ovo je samo osnovni vodič, pa obavezno proverite zvaničnu dokumentaciju Docker-a za dodatne informacije i opcije prilagođavanja instalacije.


Šta je docker-ce?

Paket docker-ce (Docker Community Edition) predstavlja osnovni deo Docker platforme. Ovaj paket uključuje Docker Engine, koji je srž Docker tehnologije. Docker Engine omogućava kreiranje, pokretanje i upravljanje Docker kontejnerima. Evo nekoliko ključnih stvari koje paket docker-ce obuhvata:

  1. Docker Engine: Glavna komponenta koja omogućava kontejnerizaciju aplikacija. Docker Engine uključuje Docker Daemon, koji je pozadinski servis odgovoran za upravljanje kontejnerima na sistemu.

  2. Docker CLI: Komandna linija koja pruža interfejs za komunikaciju sa Docker Engine-om. Korisnici mogu koristiti Docker CLI da bi izdavali komande za kreiranje, pokretanje, zaustavljanje i upravljanje kontejnerima, kao i za rad s Docker image-ovima, mrežama, volume-ima i drugim Docker resursima.

  3. Docker Compose: Dok docker-compose nije direktno deo paketa docker-ce, instalacija Docker CE uključuje i Docker Compose kao dodatni alat. Docker Compose omogućava definisanje i upravljanje više kontejnera kao deo jedne aplikacije putem jednostavnih YAML fajlova.

  4. Docker Swarm (opciono): Docker Swarm je ugrađeni orkestracioni alat koji omogućava upravljanje klasterom Docker kontejnera. Iako nije deo samog paketa docker-ce, Docker Swarm se često koristi zajedno sa Docker CE za postizanje orkestracije i skaliranja kontejnera.

  5. Docker Hub: Ovaj paket omogućava pristup Docker Hub-u, online registru gde korisnici mogu deliti i preuzimati Docker image-ove.

Instalacija paketa docker-ce omogućava korisnicima da počnu koristiti Docker kontejnere na svom sistemu i pruža osnovne alate za upravljanje kontejnerima i resursima. Važno je napomenuti da se Docker Community Edition (CE) stalno ažurira, pa je preporučljivo proveriti zvaničnu dokumentaciju kako biste bili sigurni da pratite najnovije upute za instalaciju i korišćenje.

Šta je docker-ce-cli?

Paket docker-ce-cli je jedan od paketa koji čini Docker Community Edition (CE). Ovaj paket uključuje Docker Command Line Interface (CLI), odnosno komandni red za interakciju sa Dockerom. Docker CLI omogućava korisnicima da izdaju različite komande koje upravljaju Docker kontejnerima, Docker image-ovima, mrežama, volume-ima i drugim Docker resursima.

Kroz Docker CLI, korisnici mogu izvršavati zadatke kao što su:

  1. Pokretanje kontejnera: Kreiranje i pokretanje izolovanih kontejnera koji izvršavaju određene aplikacije.

  2. Upravljanje Docker Image-ovima: Pretraga, preuzimanje, ažuriranje i brisanje Docker image-ova.

  3. Rad s mrežama: Kreiranje i upravljanje Docker mrežama, što omogućava komunikaciju između kontejnera ili kontejnera i host sistema.

  4. Upotreba Docker Compose-a: Definisanje i upravljanje višekontejnerskim aplikacijama kroz jednostavne YAML fajlove.

  5. Praćenje statusa i logova kontejnera: Pregledavanje informacija o pokrenutim kontejnerima, praćenje logova i druge dijagnostičke aktivnosti.

  6. Upravljanje Docker resursima: Brisanje, zaustavljanje i pokretanje kontejnera, kao i upravljanje konfiguracijama.

Paket docker-ce-cli je neophodan za korisnike koji žele direktno komunicirati sa Docker Engine-om putem komandne linije. Kada instalirate Docker Community Edition, obično se instalira i docker-ce-cli kako bi vam omogućio da koristite Docker CLI komande i upravljate Docker resursima.

Šta je containerd.io?

Paket containerd.io je deo Docker ekosistema i predstavlja osnovnu komponentu koja se koristi za upravljanje kontejnerima. containerd je upravitelj kontejnera i sistem za izvršavanje kontejnera, a koristi se unutar Docker Engine-a. Ovaj paket je deo Docker Community Edition (CE) i Docker Enterprise Edition (EE).

Evo nekoliko ključnih aspekata rada paketa containerd.io:

  1. Kontejneri i Izolacija: containerd pruža mehanizme za kreiranje i upravljanje kontejnerima. Ovo uključuje izolaciju resursa, mreže i prostora za procese kako bi se omogućilo sigurno izvršavanje aplikacija u kontejnerima.

  2. Podrška za OCI (Open Container Initiative): containerd podržava OCI standarde za formate i izvršavanje kontejnera. OCI standardi definišu specifikacije za kontejnere, uključujući format image-a i API-je za upravljanje kontejnerima.

  3. Izvršavanje Image-ova: containerd je odgovoran za izvršavanje Docker image-ova i upravljanje resursima tokom izvršavanja. On omogućava pokretanje kontejnera na osnovu Docker Image-a, bez obzira na to da li su image-ovi preuzeti sa Docker Hub-a ili lokalno kreirani.

  4. Jednostavnost i Efikasnost: containerd je dizajniran da bude jednostavan, lagan i efikasan. On se fokusira na osnovne funkcionalnosti potrebne za upravljanje kontejnerima, dok se složenije funkcionalnosti kao što su orkestracija prepuštaju drugim alatima ili platformama, kao što je Kubernetes.

Ukratko, paket containerd.io omogućava Docker Engine-u osnovnu funkcionalnost za rad sa kontejnerima. On čini važan deo Docker ekosistema i omogućava korisnicima upotrebu Docker kontejnera na efikasan i standardizovan način.

Šta je Docker?

Šta je Docker?

 Docker je platforma za razvoj, dostavu i pokretanje aplikacija u kontejnerima. Ova tehnologija omogućava programerima da pakuju aplikacije i sve njihove zavisnosti u lagan i prenosiv kontejner. Docker koristi tehnologiju kontejnerizacije na nivou operativnog sistema kako bi omogućio izolaciju resursa i konzistentno izvršavanje aplikacija nezavisno od okoline.

Glavne komponente Docker platforme uključuju:

  1. Docker Engine: Jezgro Docker platforme koje omogućava kreiranje i upravljanje kontejnerima. To uključuje Docker daemon (servis koji upravlja kontejnerima) i Docker CLI (komandna linija za interakciju sa Dockerom).

  2. Docker Image: Paket koji sadrži aplikaciju, zajedno sa svim potrebnim zavisnostima, konfiguracijama i kôdom. Docker image se koristi za kreiranje kontejnera.

  3. Docker Container: Instanca Docker image-a koja se izvršava kao izolovani proces. Kontejneri su prenosivi, dosledni i brzo se mogu pokrenuti ili zaustaviti.

Docker olakšava rad razvojnih timova tako što eliminiše probleme oko različitih okolina za razvoj, testiranje i produkciju. Programeri mogu kreirati Docker image svoje aplikacije na svom računaru i taj isti image može se koristiti u bilo kojoj Docker kompatibilnoj okolini bez brige o razlikama u konfiguraciji ili zavisnostima.

U suštini, Docker omogućava lakše upravljanje i isporuku aplikacija pomoću kontejnerizacije.

Šta je Docker Engine?

Docker Engine je centralna komponenta Docker platforme koja omogućava upravljanje i izvršavanje kontejnera. Sastoji se iz nekoliko ključnih delova:

  1. Docker Daemon: Ovo je pozadinski proces (servis) koji upravlja kontejnerima na sistemu. On prima zahteve od Docker CLI (Command Line Interface) i komunicira sa Docker Registrom (gde se čuvaju Docker image-ovi) i lokalnim Docker Storage-om (gde se čuvaju Docker image-i i podaci kontejnera). Docker Daemon je odgovoran za pokretanje, zaustavljanje, i upravljanje životnim ciklusom kontejnera.

  2. Docker CLI: Ovo je korisnički interfejs putem komandne linije koji omogućava korisnicima da komuniciraju sa Docker Daemon-om. Korisnici koriste Docker CLI da izdaju komande kao što su kreiranje, pokretanje, zaustavljanje i brisanje kontejnera, kao i upravljanje Docker image-ovima i drugim aspektima Docker platforme.

  3. Docker API: Docker Engine ima API (Application Programming Interface) koji omogućava programerima i drugim alatima da komuniciraju sa Dockerom i automatizuju različite zadatke. Docker CLI, na primer, koristi ovaj API da bi interagovao sa Docker Daemon-om.

  4. Docker Compose: Ovo je alat koji omogućava definisanje i upravljanje više kontejnera kao deo jedne aplikacije. Pomoću Docker Compose-a možete opisati konfiguraciju aplikacije, uključujući servise, mreže i volume, u jednom fajlu, a zatim pokrenuti sve ove kontejnere jednostavnom komandom.

Docker Engine omogućava kreiranje, upravljanje i izvršavanje kontejnera na operativnom sistemu. On je ključna komponenta koja čini Docker tehnologiju funkcionalnom i korisnom za razvoj, testiranje i isporuku aplikacija.


Docker Image

Docker Image je paket koji sadrži sve što je potrebno da bi se pokrenula aplikacija, uključujući kôd, runtime, sistemske alatke, biblioteke i postavke. Ovi image-ovi se koriste za kreiranje Docker kontejnera, koji su izvršne instance tih image-ova. Evo ključnih elemenata Docker image-a:

  1. Osnovni sloj (Base Layer): Svaki Docker image počinje određenim osnovnim slojem koji obično predstavlja bazni operativni sistem, kao što su Ubuntu, Alpine Linux ili neki drugi. Ovaj sloj obezbeđuje osnovno okruženje za izvršavanje aplikacije.

  2. Dodatni slojevi (Additional Layers): Nakon osnovnog sloja, image može sadržavati dodatne slojeve koji predstavljaju promene i dodatke u odnosu na osnovni sloj. Na primer, svaki dodatni sloj može sadržavati instalaciju dodatnih paketa, kôda ili postavki. Ovo je ključna karakteristika Docker image-a jer omogućava deljenje zajedničkih slojeva između različitih image-ova, što economično koristi prostor za skladištenje.

  3. Metapodaci i Konfiguracije: Docker image sadrži metapodatke kao što su informacije o autoru, verziji, i druge informacije koje pomažu u identifikaciji i upravljanju image-om. Takođe, image može sadržavati i konfiguracione fajlove ili skripte koje se automatski pokreću prilikom pokretanja kontejnera.

Docker image-ovi se često deljenju i distribuiraju putem Docker Registra, kao što je Docker Hub. Ovo su online repozitorijumi koji omogućavaju programerima da dele, pretražuju i preuzimaju Docker image-ove. Kada želite pokrenuti aplikaciju, koristite Docker image da biste brzo stvorili izolovani kontejner sa svim potrebnim zavisnostima.

Docker Container

Docker Container predstavlja izvršnu instancu Docker Image-a. To je izolovani proces koji pokreće aplikaciju sa svim potrebnim zavisnostima i okolinom za izvršavanje. Svaki kontejner se izvršava nezavisno od drugih kontejnera i deli jezgro operativnog sistema sa host mašinom. Evo ključnih karakteristika Docker kontejnera:

  1. Izolacija: Kontejneri koriste mehanizme izolacije operativnog sistema kako bi se osiguralo da aplikacija u jednom kontejneru ne utiče na druge kontejnere ili host sistem. Svaki kontejner ima svoj sistemski prostor, mrežu i fajl sistem.

  2. Laganost: Kontejneri dele jezgro operativnog sistema sa host mašinom, što ih čini lakim i brzim za pokretanje. Kontejneri se dižu mnogo brže od virtualnih mašina, jer nema potrebe za pokretanjem kompletnog operativnog sistema za svaki kontejner.

  3. Prenosivost: Kontejneri su prenosivi između različitih okolina jer sadrže sve potrebne zavisnosti unutar sebe. Oni se mogu pokretati na različitim sistemima koji podržavaju Docker, bez obzira na razlike u operativnim sistemima ili konfiguraciji.

  4. Reproducibilnost: Zbog korišćenja Docker Image-a, svaki kontejner pokreće isti skup zavisnosti i konfiguracija. Ovo obezbeđuje konzistentnost između razvojnog okruženja, testiranja i produkcije.

  5. Jednostavnost upravljanja: Docker Engine omogućava lako upravljanje kontejnerima. Možete ih pokretati, zaustavljati, brisati ili skalirati prema potrebi.

Kada želite pokrenuti određenu aplikaciju, koristite odgovarajući Docker Image kako biste kreirali kontejner. Kontejneri se mogu pokretati lokalno na vašem računaru tokom razvoja, a zatim se prenositi u produkcijsko okruženje bez problema. Docker kontejneri su ključna komponenta u razvoju, testiranju i isporuci aplikacija.