NAPOMENA: Ovo i sva uputstva koja slede nisu oficijalna i moja su interpretacija originalne dokumentacije i uslova pod kojim se izvode. Tako da mogu i ne moraju da budu ispravna.
Moj iskreni predlog je da bookmarkujete ovu stranicu. Ažuriraću je redovno i dodavati nove komande i objašnjenja.
Svlačenje imidža sa repozitorijuma
primer:
docker pull redis:latest
Dizanje imidža na repozitorijum
primer:
docker push redis:mojbuild
Koristi se za guranje imidža koje ste vi pravili na lokalu na neki od registra.
Listanje imidža
primer:
docker images
Izlistaće sve lokalne imidže koje ste preuzeli ili buildali.
Listanje kontejnera
docker ps
Gornja komanda izlistaće vam sve AKTIVNE kontejnere
docker ps -a
Izlistaće vam sve kontejnere, uključujući i exitovane. Ovo je korisno ako tražite id kontejnera koji se nije uspešno digao zbog daljeg debugovanja.
Buildanje image-a
docker build -t mojnoviimage .
Komanda traži Dockerfile u direktorijumu iz kog se izvršava (primećujete tačku na kraju) . Komandom -t definište tag image-a.
Logovi
docker logs idkontejnera
Nakon što vam ne uspe dizanje kontejnera iz bilo kog razloga prvo mesto gde tražite problem su docker logovi. Prethodno komandom docker ps -a
pokupite id exitovanog kontejnera i zatim ovom komandom iščitate šta nije u redu.
Čišćenje exitovanih kontejnera
docker container prune
Ovom komandom brišete sve exitovane kontejnere. Nakon nekog vremena nakupi se njih da zauzme pozamašni prostor. Sećate se da se svaki kontejner izvršava samo jednom.
Čišćenje neupotrebljenih imidža
docker image prune
Iako imidži native dele dosta prostora u lajerima, vremenom se nakupe razni updejti, pa neki mogu narasti i preko 1 gb. Puta broj raznih varijacija. Ode disk. Komanda će obrisati sve image koje u datom trenutku ne koristi najmanje jedan kontejner.
Čišćenje celog docker sistema
docker system prune
Ova iako na izgled bezopasna komanda bi trebalo bez nekih većih opasnosti ukloniti sve kontejnere, volume, imidže i ostatak crapa koji se nakupi radom dockera. Meni je slupao testno docker swarm okruženje. Tako da ga ne preporučujem. Nisam siguran da li je bio neki bug. Ali eto. Probajte pa vidite.
Docker compose
docker-compose up
izvršava se iz direktorijuma gde vam se nalazi docker-compose.yml fajl. Podiže ceo set zadatih kontejnera sa promenljivama koje ste uneli. (za ovo će trebati poseban post)
docker-compose up -d
Radi isto što i prethodna komanda ali vam se ne vezuje sa sesijom nego radi to detached, a vaš terminal ostaje slobodan za druge poslove
docker-compose -f moj-compose.yml up
Isto radi što i ove gore komande, ali ako imate par compose fajlova u istom direktorijumu, ovako možete izabrati onaj koji vam treba. Takođe radi sa -d
docker-compose down
Zaustavlja sve servise koji se pominju u compose fajlu direktorijuma iz kog se ispaljuje.
Docker swarm
docker stack deploy -c compose.yml --with-registry-auth imestaka
Komanda se ispaljuje na menadžeru iz direktorijuma gde je smešten compose fajl. --with-registry-auth
kaže da za svlačenje imidža koji su naslovljeni u compose fajlu koristi kredencijale za registar kao i registar na koji je node na kome se deploy izvršava ulogovani. imestaka
predstavalja ime kojim će se označavaju svi servisi (kontejneri) koje će ovaj compose fajl kreirati.
docker stack rm imestacka
Ovim uklanjate sve kontejnere koje ste podigli prethodnim compose fajlom.
docker stack ls
Ovim listate sve stackove. Pored imena svakog od njih, pisaće koliko servisa imaju podignutih (kontejnera)
docker service ls
Ovim listate sve servise na svim nodovima. Ova kao i sve prethodne komande mogu se izvršiti samo sa DOCKER MENADŽERA