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.