Nov 13, 2023

docker logout

 Docker komanda docker logout se koristi za odjavljivanje sa Docker Hub-a ili drugog Docker registra. Kada se korisnik prijavi (login) koristeći docker login, Docker čuva autentikacione podatke na sistemu kako bi omogućio pristup privatnim Docker image-ovima i drugim resursima koji zahtevaju autentikaciju. Komanda docker logout briše te autentikacione podatke i odjavljuje korisnika sa Docker Hub-a ili drugog registra.

Osnovna upotreba:

docker logout

Ova komanda odjavljuje trenutnog korisnika sa Docker Hub-a ili drugog registra.

Primer:

docker logout

Ovaj primer odjavljuje trenutnog korisnika sa Docker Hub-a.

Ovo je korisno kada želite prekinuti sesiju sa Docker registrom ili ako želite promeniti korisničke informacije ili pristup drugim registrima. Nakon izvršenja docker logout, bilo koji pokušaj pristupa privatnim image-ovima na Docker Hub-u ili drugom registru zahtevaće ponovnu autentikaciju korisnika kroz docker login.

docker volume

 Docker komanda docker volume koristi se za upravljanje Docker volumenima. Volumeni su posebni Docker objekti koji omogućavaju trajno skladištenje podataka između kontejnera i host sistema. Evo nekoliko osnovnih komandi i primera:

Prikazivanje svih Docker volumena:

docker volume ls

Ova komanda prikazuje listu svih trenutno dostupnih Docker volumena.

Kreiranje novog Docker volumena:

docker volume create ime_volumena

Ova komanda kreira novi Docker volumen sa određenim imenom.

Primer:

docker volume create moj_volume

Ovaj primer kreira novi Docker volumen sa imenom "moj_volume".

Prikazivanje detalja o Docker volumenu:

docker volume inspect ime_volumena

Ova komanda prikazuje detalje o određenom Docker volumenu, uključujući i putanju na host sistemu gde je volumen smešten.

Primer:

docker volume inspect moj_volume

Ovaj primer prikazuje detalje o Docker volumenu sa imenom "moj_volume".

Brisanje Docker volumena:

docker volume rm ime_volumena

Ova komanda briše određeni Docker volumen.

Primer:

docker volume rm moj_volume

Ovaj primer briše Docker volumen sa imenom "moj_volume".

Povezivanje Docker volumena sa kontejnerom:

Prilikom pokretanja kontejnera, možete koristiti opciju -v (ili --volume) kako biste povezali Docker volumen sa kontejnerom.

docker run -v moj_volume:/putanja/unutar/kontejnera moj_image

Ovaj primer povezuje Docker volumen "moj_volume" sa kontejnerom na putanju "/putanja/unutar/kontejnera".

Automatsko kreiranje Docker volumena prilikom pokretanja kontejnera:

Ako Docker volumen sa određenim imenom ne postoji, možete koristiti opciju --mount prilikom pokretanja kontejnera kako biste automatski kreirali volumen.

docker run --mount source=moj_volume,target=/putanja/unutar/kontejnera moj_image

Ovaj primer automatski kreira Docker volumen "moj_volume" i povezuje ga sa kontejnerom na putanji "/putanja/unutar/kontejnera".

Docker volumeni su korisni za trajno skladištenje podataka između pokretanja i za deljenje podataka između više kontejnera. Oni su efikasan način za upravljanje podacima u Docker okruženju.

docker logs

 Docker komanda docker logs koristi se za pregledavanje izlaznih logova (logs) kontejnera. Ova komanda omogućava praćenje i dijagnostikovanje izlaza i logova koji se generišu unutar Docker kontejnera.

Osnovna upotreba:

docker logs ime_kontejnera

Ova komanda prikazuje izlazne logove za određeni Docker kontejner. Možete koristiti ili ime kontejnera ili njegov ID.

Primer:

docker logs moj_kontejner

Ovaj primer prikazuje izlazne logove za kontejner sa imenom "moj_kontejner".

Prikazivanje poslednjih N linija logova:

docker logs --tail N ime_kontejnera

Ova komanda prikazuje poslednjih N linija izlaznih logova za određeni kontejner.

Primer:

docker logs --tail 10 moj_kontejner

Ovaj primer prikazuje poslednjih 10 linija izlaznih logova za kontejner "moj_kontejner".

Praćenje uživo (live) logova:

docker logs -f ime_kontejnera

Ova komanda omogućava praćenje uživo izlaznih logova za određeni kontejner. Logovi će se automatski ažurirati kako se pojavljuju nove informacije.

Primer:

docker logs -f moj_kontejner

Ovaj primer omogućava praćenje uživo izlaznih logova za kontejner "moj_kontejner".

Ova komanda je korisna za praćenje rada aplikacija unutar Docker kontejnera, identifikaciju problema ili analizu ponašanja aplikacije. Korišćenje docker logs je efikasan način za pristup informacijama o radu kontejnera.

docker cp

 Docker komanda docker cp se koristi za kopiranje datoteka između lokalnog sistema i unutar Docker kontejnera. Ova komanda je korisna kada želite preneti podatke između host sistema i kontejnera ili između dva kontejnera. Važno je napomenuti da docker cp radi samo sa montiranim (mounted) volumenima i nije predviđena za kopiranje između lokalnog sistema i sistemskog fajl sistema kontejnera.

Kopiranje sa lokalnog sistema u kontejner:

docker cp lokalna_datoteka.txt ime_kontejnera:/putanja/unutar/kontejnera/

Ova komanda kopira datoteku "lokalna_datoteka.txt" sa lokalnog sistema u određeni kontejner na putanju "/putanja/unutar/kontejnera/".

Primer:

docker cp my_file.txt moj_kontejner:/app/

Ovaj primer kopira datoteku "my_file.txt" iz trenutnog radnog direktorijuma host sistema u kontejner "moj_kontejner" u direktorijum "/app/".

Kopiranje iz kontejnera na lokalni sistem:

docker cp ime_kontejnera:/putanja/unutar/kontejnera/ lokalna_destinacija/

Ova komanda kopira datoteke iz određenog kontejnera na lokalni sistem.

Primer:

docker cp moj_kontejner:/app/my_file.txt .

Ovaj primer kopira datoteku "my_file.txt" iz kontejnera "moj_kontejner" u trenutni radni direktorijum na host sistemu.

Kopiranje između dva kontejnera:

docker cp ime_kontejnera1:/putanja/unutar/kontejnera/ ime_kontejnera2:/putanja/unutar/kontejnera/

Ova komanda kopira datoteke iz jednog kontejnera u drugi.

Primer:

docker cp moj_kontejner1:/app/my_file.txt moj_kontejner2:/app/

Ovaj primer kopira datoteku "my_file.txt" iz "moj_kontejner1" u "moj_kontejner2" u direktorijum "/app/".

Korišćenje docker cp je korisno kada želite preneti datoteke između lokalnog sistema i kontejnera ili između dva kontejnera.

docker rmi

 Docker komanda docker rmi se koristi za brisanje (uklanjanje) Docker image-a sa lokalnog sistema. Ova komanda vam omogućava da oslobodite prostor na disku i uklonite image-ove koje više ne koristite.

Osnovna upotreba:

docker rmi <ime_ili_ID_image-a>

Ova komanda briše određeni Docker image. Možete koristiti ili ime image-a ili njegov ID.

Primer:

docker rmi moj-novi-image

Ovaj primer briše Docker image sa imenom "moj-novi-image".

Brisanje više image-ova odjednom:

docker rmi ime_image-a1 ime_image-a2

Ova komanda briše više Docker image-ova odjednom.

Brisanje više image-ova koristeći filter:

docker rmi $(docker images -q)

Ovaj primer koristi docker images -q da dobije listu ID-jeva svih image-ova, a zatim ih koristi sa docker rmi kako bi obrisao sve image-ove.

Brisanje image-ova sa oznakom (tag):

docker rmi ime_image-a:oznaka

Ova komanda briše specifičnu verziju image-a sa određenom oznakom.

Brisanje svih nekorišćenih (dangling) image-ova:

docker images -q --filter "dangling=true" | xargs docker rmi

Ovaj primer koristi docker images -q sa filterom da pronađe ID-jeve svih nekorišćenih image-ova (dangling images) i zatim ih briše sa docker rmi.

Brisanje Docker image-ova je važan korak u upravljanju prostorom na disku i održavanju čistoće Docker okruženja. Uvek budite pažljivi kada brišete image-ove, posebno one koje još uvek koristite u drugim kontejnerima.

docker network

 Docker komanda docker network se koristi za upravljanje Docker mrežama. Ova komanda vam omogućava kreiranje, pregled i konfigurisanje mrežnih resursa unutar Docker okruženja.

Prikazivanje svih mreža:

docker network ls

Ova komanda prikazuje listu svih dostupnih Docker mreža.

Kreiranje nove mreže:

docker network create ime_mreze

Ova komanda kreira novu Docker mrežu sa zadatim imenom.

Pregled mrežnih detalja:

docker network inspect ime_mreze

Ova komanda prikazuje detalje o odabranoj Docker mreži, uključujući informacije o kontejnerima povezanim sa tom mrežom.

Povezivanje kontejnera sa mrežom:

docker network connect ime_mreze ime_kontejnera

Ova komanda povezuje određeni Docker kontejner sa odabranom mrežom.

Isključivanje kontejnera iz mreže:

docker network disconnect ime_mreze ime_kontejnera

Ova komanda isključuje određeni Docker kontejner iz odabrane mreže.

Kreiranje mreže sa specifičnim driver-om:

docker network create --driver bridge ime_mreze

Ova komanda kreira novu mrežu sa određenim driver-om. U ovom primeru, --driver bridge postavlja bridge driver za mrežu.

Povezivanje mreža:

docker network connect ime_mreze1 ime_mreze2

Ova komanda povezuje dve Docker mreže, omogućavajući kontejnerima u jednoj mreži da komuniciraju sa kontejnerima u drugoj mreži.

Brisanje mreže:

docker network rm ime_mreze

Ova komanda briše određenu Docker mrežu.

Ove komande omogućavaju kompleksno upravljanje Docker mrežama, što je korisno za organizaciju i konfiguraciju komunikacije između kontejnera u Docker okruženju.

docker push

 Docker komanda docker push se koristi za otpremanje (upload) lokalnih Docker image-ova na Docker Hub ili drugi Docker registar. Ova komanda omogućava deljenje vaših kreiranih Docker image-ova sa zajednicom ili sa drugim korisnicima.

Osnovna upotreba:

docker push <ime_image-a>

Ova komanda otprema lokalni Docker image na Docker Hub ili drugi registrovani registar. Ime image-a mora sadržavati i punu putanju do registra ako se ne koristi Docker Hub.

Primer:

docker push moj-novi-image

Ovaj primer otprema lokalni Docker image sa imenom "moj-novi-image" na Docker Hub, pretpostavljajući da ste već autentifikovani koristeći docker login.

Otpremanje sa oznakom (tag):

Ako koristite oznake (tags) za verzioniranje vaših image-ova, trebali biste ih uključiti u ime image-a koje otpremanje.

docker push moj-novi-image:v2

Ovaj primer otprema image sa oznakom "v2" na Docker Hub.

Otpremanje na drugi Docker registar:

Ako želite otpremiti image na drugi Docker registar, uključite punu putanju do registra u ime image-a.

docker push myregistry.com/moj-novi-image

Ovaj primer otprema image "moj-novi-image" na Docker registar "myregistry.com".

Ova komanda je korisna kada želite deliti svoje Docker image-ove sa drugima ili ih čuvati na centralizovanom mestu. Važno je da budete autentifikovani na odgovarajućem Docker registru pre nego što izvršite docker push.

docker commit

 Docker komanda docker commit se koristi za kreiranje novog Docker image-a na osnovu trenutnog stanja kontejnera. Ova komanda omogućava stvaranje image-a sa svim izmenama i dodacima koji su napravljeni unutar kontejnera, što može biti korisno kada želite sačuvati promene koje ste napravili unutar kontejnera.

Osnovna upotreba:

docker commit <ime_kontejnera> <ime_novog_image-a>

Ova komanda će kreirati novi Docker image na osnovu trenutnog stanja kontejnera. Možete koristiti ili ime ili ID kontejnera.

Primer:

docker commit moj_kontejner moj-novi-image

Ovaj primer kreira novi Docker image sa imenom "moj-novi-image" na osnovu trenutnog stanja kontejnera "moj_kontejner".

Dodavanje dodatnih opcija:

Možete dodati dodatne opcije za prilagođavanje procesa kreiranja novog image-a, kao što su oznake (tags) i komentari.

docker commit -m "Dodati novi softver" -a "Ime Autora" moj_kontejner moj-novi-image:v2

Ovaj primer kreira novi Docker image sa oznakom (tag) "v2" i dodaje komentar i ime autora.

Kreiranje image-a sa dodatnim slojem:

docker commit --change "CMD ['apache2ctl', '-D', 'FOREGROUND']" moj_kontejner moj-apache-image

Ovaj primer dodaje dodatni sloj konfiguracije u novi Docker image pomoću --change opcije.

Važno je napomenuti da je korišćenje docker commit pristup korisno za brze eksperimente, ali se obično ne preporučuje za dugoročno upravljanje konfiguracijom i kodom. Za ozbiljne projekte, preporučuje se korišćenje Dockerfile-a i automatskog procesa izgradnje (build procesa) za upravljanje konfiguracijom Docker image-ova.

docker login

 Docker komanda docker login se koristi za autentikaciju na Docker Hub ili drugi Docker registar kako biste mogli pristupiti privatnim Docker image-ovima i izvršavati druge operacije koje zahtevaju autentikaciju. Evo osnovne upotrebe i nekoliko primera:

Osnovna upotreba:

docker login

Ova komanda će vas pitati za korisničko ime (username), lozinku (password) i, opciono, e-mail adresu za registrovanje na Docker Hub. Nakon što unesete odgovarajuće informacije, bićete autentifikovani i moći ćete pristupiti privatnim Docker image-ovima na Docker Hub-u.

Primer:

docker login

Nakon izvršenja ove komande, bićete upitani da unesete svoje korisničko ime, lozinku i, opciono, e-mail adresu.

Specifikacija registra:

Ako želite se povezati sa Docker registrom drugačijim od Docker Hub-a, možete navesti URL registra kao argument.

docker login myregistry.com

Odjavljivanje (logout):

Kada završite sa radom na Docker Hub-u ili drugom Docker registru, možete se odjaviti koristeći komandu docker logout.

docker logout

Ove komande su korisne kada želite pristupiti privatnim Docker image-ovima ili kada radite sa Docker Hub-om koristeći svoj Docker nalog. Nakon uspešne autentikacije, Docker će čuvati autentikacione podatke na sigurnom mestu na vašem sistemu kako bi ih koristio u budućnosti.

docker exec

 Docker komanda docker exec se koristi za izvršavanje komandi unutar postojećeg Docker kontejnera. Ova komanda vam omogućava interaktivno ili neinteraktivno komuniciranje sa procesima koji se izvršavaju unutar kontejnera. Evo osnovne upotrebe i nekoliko primera:

Osnovna upotreba (interaktivni režim):

docker exec -it <ime_ili_ID_kontejnera> <komanda>

Ova komanda pokreće određenu komandu unutar kontejnera u interaktivnom režimu. Možete koristiti ili ime ili ID kontejnera.

Primer (pokretanje interaktivnog bash terminala unutar kontejnera):

docker exec -it moj_kontejner /bin/bash

Ovaj primer otvara interaktivni bash terminal unutar kontejnera "moj_kontejner".

Pokretanje jednostavne komande unutar kontejnera:

docker exec moj_kontejner ls /app

Ovaj primer izvršava komandu ls /app unutar kontejnera "moj_kontejner" i prikazuje sadržaj direktorijuma "/app" unutar tog kontejnera.

Pokretanje neinteraktivnih komandi:

Ako želite izvršiti jednostavne komande bez interaktivnog režima, možete izostaviti opciju -it.

docker exec moj_kontejner echo "Hello, Docker!"

Ovaj primer jednostavno izvršava komandu echo "Hello, Docker!" unutar kontejnera "moj_kontejner".

Pokretanje komande sa specifičnim korisnikom:

docker exec -u 1000 moj_kontejner whoami

Ovaj primer izvršava whoami komandu unutar kontejnera "moj_kontejner", ali kao korisnik sa UID 1000.

docker exec omogućava fleksibilno izvršavanje komandi unutar kontejnera, što je korisno za održavanje, debagovanje ili rad sa procesima koji se izvršavaju u okviru Docker kontejnera.

docker kill

 Docker komanda docker kill se koristi za momentalno zaustavljanje (ubijanje) pokrenutog kontejnera. Ova komanda ne šalje signal za graciozno zaustavljanje (SIGTERM) kao docker stop, već koristi signal za prisilno zaustavljanje (SIGKILL). Upotreba ove komande rezultuje trenutnim prekidom rada kontejnera.

Osnovna upotreba:

docker kill <ime_ili_ID_kontejnera>

Ova komanda šalje signal za ubijanje određenom kontejneru. Možete koristiti ili ime ili ID kontejnera.

Primer:

docker kill moj_kontejner

Ovaj primer trenutno zaustavlja kontejner sa imenom "moj_kontejner".

Više kontejnera odjednom:

Ako želite momentalno zaustaviti više kontejnera odjednom, navedite njihova imena ili ID-jeve odvojene razmakom.

docker kill kontejner1 kontejner2

Primer sa korišćenjem ID-a kontejnera:

docker kill 123abc456def

Ovaj primer momentalno zaustavlja kontejner sa ID-om "123abc456def".

Korišćenje docker kill je drastična mera, jer momentalno prekida izvršavanje procesa unutar kontejnera bez obzira na njihovo stanje. Ova komanda se obično koristi kada je potrebno hitno zaustaviti kontejner koji se ne odaziva na signale za graciozno zaustavljanje, ali se preporučuje oprezno korišćenje kako bi se izbegli gubitci podataka ili neželjeni efekti.

docker restart

 Docker komanda docker restart se koristi za ponovno pokretanje zaustavljenog kontejnera. Ova komanda omogućava brzo ponovno pokretanje kontejnera bez potrebe za ponovnim pokretanjem Docker image-a.

Osnovna upotreba:

docker restart <ime_ili_ID_kontejnera>

Ova komanda šalje signal za ponovno pokretanje određenom kontejneru. Možete koristiti ili ime ili ID kontejnera.

Primer:

docker restart moj_kontejner

Ovaj primer ponovno pokreće kontejner sa imenom "moj_kontejner".

Više kontejnera odjednom:

Ako želite ponovno pokrenuti više kontejnera odjednom, navedite njihova imena ili ID-jeve odvojene razmakom.

docker restart kontejner1 kontejner2

Primer sa koriscenjem ID-a kontejnera:

docker restart 123abc456def

Ovaj primer ponovno pokreće kontejner sa ID-om "123abc456def".

Ponovno pokretanje kontejnera često se koristi kada je potrebno primeniti izmene u konfiguraciji ili kada je došlo do nekog problema u radu kontejnera, a želite ga brzo i jednostavno ponovo pokrenuti.

Treba napomenuti da docker restart ne menja konfiguraciju ili postavke kontejnera. Ako želite primeniti izmene u konfiguraciji, trebali biste zaustaviti kontejner, primeniti izmene i zatim ga ponovo pokrenuti.

docker stop

 Docker komanda docker stop koristi se za zaustavljanje pokrenutih Docker kontejnera. Ova komanda omogućava kontrolisano zaustavljanje kontejnera, što znači da se proces unutar kontejnera obavija i kontejner zatim prestaje sa radom.

Osnovna upotreba:

docker stop <ime_ili_ID_kontejnera>

Ova komanda šalje signal za zaustavljanje određenom kontejneru. Možete koristiti ili ime ili ID kontejnera.

Primer:

docker stop moj_kontejner

Ovaj primer zaustavlja kontejner sa imenom "moj_kontejner".

Više kontejnera odjednom:

Ako želite zaustaviti više kontejnera odjednom, navedite njihova imena ili ID-jeve odvojene razmakom.

docker stop kontejner1 kontejner2

Čekanje određenog vremena pre nego što se kontejner zaustavi:

docker stop -t 30 moj_kontejner

Ovaj primer šalje signal za zaustavljanje kontejneru "moj_kontejner", ali čeka maksimalno 30 sekundi da se proces unutar kontejnera završi pre nego što se kontejner zaustavi. Ako se proces ne završi u tom vremenskom periodu, kontejner će biti silom zaustavljen.

Primer sa koriscenjem ID-a kontejnera:

docker stop 123abc456def

Ovaj primer zaustavlja kontejner sa ID-om "123abc456def".

Više načina za zaustavljanje kontejnera:

Osim docker stop, možete koristiti i docker kill za momentalno zaustavljanje kontejnera bez čekanja na završetak procesa unutar kontejnera.

docker kill moj_kontejner

Ove komande su korisne kada želite zaustaviti pokrenute kontejnere i osloboditi resurse koje zauzimaju.

docker run

Docker komanda docker run se koristi za pokretanje kontejnera na osnovu određenog Docker image-a. Ova komanda omogućava da se kreira, pokrene i upravlja kontejnerima sa specifičnim opcijama i konfiguracijama. Evo osnovne upotrebe i nekoliko primera:

Osnovna upotreba:

docker run <opcije> <ime_image-a>

Ova komanda kreira i pokreće kontejner na osnovu navedenog Docker image-a. Kontejner se pokreće u pozadini (u režimu daemon) i izlazi iz kontejnera kada se izvrši zadatak koji je definisan u Docker image-u (npr. pokretanje servera).

Primer:

docker run -d -p 8080:80 nginx

Ovaj primer kreira i pokreće Docker kontejner na osnovu "nginx" image-a. Opcija -d pokreće kontejner u pozadinskom režimu, a opcija -p 8080:80 mapira port 8080 na port 80 unutar kontejnera.

Interaktivni režim:

docker run -it ubuntu /bin/bash

Ovaj primer pokreće interaktivni kontejner sa Ubuntu operativnim sistemom i otvara komandnu liniju (/bin/bash) unutar kontejnera. Opcija -it omogućava interaktivni režim, što znači da možete direktno komunicirati sa komandom unutar kontejnera.

Dodeljivanje imena kontejneru:

docker run --name moj_kontejner -d -p 8080:80 nginx

Ovaj primer dodaje opciju --name kako bi se dodelilo ime kontejneru (u ovom slučaju "moj_kontejner"). To omogućava lakše upravljanje i referenciranje kontejnera.

Montiranje volumena:

docker run -d -v /lokalan/path:/path/unutar/kontejnera nginx

Ovaj primer koristi opciju -v kako bi se montirao lokalni volumen unutar kontejnera. To omogućava deljenje podataka između lokalnog sistema i kontejnera.

Povezivanje s mrežom (network):

docker run --rm -it --network=host ubuntu

Ovaj primer pokreće kontejner sa Ubuntu operativnim sistemom u interaktivnom režimu, deleći mrežni namespace sa host sistemom (opcija --network=host). Opcija --rm će automatski ukloniti kontejner nakon što se zatvori interaktivna sesija.

Definisanje varijabli okoline (environment variables):

docker run -e MY_VARIABLE=my_value ubuntu

Ovaj primer pokreće kontejner sa Ubuntu operativnim sistemom i postavlja varijablu okoline MY_VARIABLE sa vrednošću my_value. Kontejner će imati pristup ovoj varijabli okoline.

Mapiranje volume-a (mounting volumes):

docker run -v /lokalan/path:/path/unutar/kontejnera ubuntu

Ovaj primer mapira lokalni direktorijum na određeni put unutar kontejnera, omogućavajući deljenje podataka između lokalnog sistema i kontejnera.

Rukovanje resursima (handling resources):

docker run -it --cpu-shares=512 ubuntu

Ovaj primer pokreće interaktivni kontejner sa Ubuntu operativnim sistemom sa definisanim ograničenjem CPU resursa (opcija --cpu-shares=512). Ovo postavlja relativni prioritet deljenja CPU resursa u odnosu na druge kontejnere.

Rad s portovima:

docker run -d -p 8080:80 nginx

Ovaj primer pokreće Nginx kontejner u pozadini (opcija -d) i mapira lokalni port 8080 na port 80 unutar kontejnera (opcija -p 8080:80).

Postavljanje radnog direktorijuma:

docker run -v $(pwd):/app -w /app ubuntu

Ovaj primer pokreće kontejner sa radnim direktorijumom postavljenim na trenutni radni direktorijum na host sistemu ($(pwd) je Bash sintaksa za trenutni direktorijum). Opcija -v montira trenutni direktorijum u /app unutar kontejnera, a opcija -w postavlja radni direktorijum na /app.

Opcije i konfiguracije koje možete koristiti sa docker run su raznovrsne i zavise od vaših potreba. Ova komanda često predstavlja ključnu tačku u radu sa Docker kontejnerima, jer vam omogućava da prilagodite pokretanje kontejnera prema specifičnim zahtevima vaših aplikacija.

docker pull

 Docker komanda docker pull se koristi za preuzimanje (skidanje) Docker image-a sa Docker Hub-a ili drugog registra image-ova na lokalni sistem. Ova komanda vam omogućava da preuzmete image i pripremite ga za lokalno korišćenje. Evo osnovne upotrebe i primera:

Osnovna upotreba:

docker pull <ime_image-a>

Ova komanda će preuzeti Docker image sa navedenim imenom sa Docker Hub-a.

Primer:

docker pull nginx

Ovaj primer će preuzeti najnoviju verziju Docker image-a "nginx" sa Docker Hub-a. Docker će automatski preuzeti sve potrebne slojeve image-a i postaviti ih na vaš lokalni sistem.

Specifična verzija image-a:

Ako želite preuzeti određenu verziju image-a, možete navesti i tag verzije.

docker pull nginx:1.21.3

Ovaj primer će preuzeti specifičnu verziju "1.21.3" Docker image-a "nginx".

Preuzimanje image-a iz drugog registry-ja:

Ako image nije dostupan na Docker Hub-u, možete navesti punu putanju do image-a na drugom registry-ju.

docker pull registry.example.com/my-custom-image

Ovaj primer će preuzeti image "my-custom-image" sa registra "registry.example.com".

Nakon što preuzmete Docker image, možete ga koristiti za pokretanje kontejnera sa docker run komandom. Na primer:

docker run -d -p 80:80 nginx

Ovo je korisna komanda kada želite preuzeti image-ove sa Docker Hub-a ili drugih registara kako biste ih koristili lokalno na vašem sistemu.

docker search

 Docker komanda docker search koristi se za pretragu Docker Hub-a, online registra Docker image-ova, kako biste pronašli dostupne image-ove koje možete preuzeti. Ova komanda vam omogućava da pretražujete Docker Hub za image-ove koji odgovaraju određenim kriterijumima.

Osnovna upotreba:

docker search <ime_image-a>

Ova komanda pretražuje Docker Hub za image-ove koji sadrže navedeno ime.

Primer:

docker search nginx

Ovaj primer će pretražiti Docker Hub za image-ove koji uključuju "nginx" u svom imenu ili opisu. Rezultat će biti lista dostupnih image-ova sa relevantnim informacijama, uključujući ime, opis, broj zvezdica (ocena od strane zajednice) i druge informacije.

Dodatne opcije:

  • --filter ili -f: Omogućava vam filtriranje rezultata pretrage na osnovu različitih kriterijuma. Na primer, možete filtrirati rezultate na osnovu zvaničnih image-ova, određenog broja zvezdica, itd.

Primer sa filterom:

docker search --filter "is-official=true" nginx

Ovaj primer će pretražiti samo zvanične (official) image-ove koji sadrže "nginx" u svom imenu.

Kada pronađete željeni image, možete ga preuzeti na svoj sistem koristeći docker pull komandu. Na primer:

docker pull nginx

Ovo je korisno kada želite pronaći odgovarajući image za pokretanje određenog servisa ili aplikacije prema vašim potrebama.

docker --version

 Docker komanda docker --version se koristi za prikazivanje trenutne verzije instaliranog Docker softvera na vašem sistemu. Ova komanda je korisna kako biste proverili koju verziju Docker-a trenutno koristite. Evo kako možete koristiti ovu komandu:

Osnovna upotreba:

docker --version

Ova komanda će jednostavno prikazati informacije o verziji Docker-a koje mogu uključivati i build informacije.

Primer:

docker --version

Rezultat može izgledati nešto slično ovome:

Docker version 20.10.2, build 2291f61

U ovom primeru, "20.10.2" je verzija Docker-a, a "2291f61" je identifikator izgrađene verzije.

Dodatne informacije o Docker Client i Server verzijama:

Ako želite dodatne informacije o verzijama Docker Client-a i Server-a, možete koristiti komandu docker version bez -version argumenta. Na primer:

docker version

Rezultat će sadržavati informacije o verzijama i drugim detaljima o Docker Client-u i Docker Server-u na vašem sistemu.

Ovo je korisna komanda kada želite proveriti da li koristite najnoviju verziju Docker-a ili kada imate potrebu za informacijama o verzijama u automatizovanim skriptama ili radu s Docker-om.

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.