Nov 13, 2023

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.