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.