Docker Flashcards

1
Q

Sta je docker?

A

Docker je projekat otvorenog koda koji nam omogućava isporuku (deployment) aplikacija unutar kontejnera (container) tako što nam daje dodatni nivo apstraktnosti i automatizacije OS-level virtualization za Linux.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sta je Docker slika kontejnera?

A

Samostalan paket softvera koji sadrži:
- kod
- okruženje
- sistemske alate
- biblioteke
- opcije

Slike kontejnera postaju kontejneri tokom izvršavanja.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Konejner

A

Kontejneri:

Apstrakcija na aplikacionom sloju koji spaja kod i zavisnosti u jedno.
Više kontejnera mogu da budu na jednom operativnog sistemu i da dele isto jezgro (kernel).
Obično su znatno manji od virtuelnih mašina: merna jedinica MB.
Brzo se pokreću.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

VM

A

Virtuelne mašine:

Apstrakcija na fizičkom nivou. Više servera umesto jednog servera na istoj mašini.

Hipervizor (Hypervisor) omogućava da se više VM pokreće na jednoj mašini.
Svaka VM ima svoju kopiju operativnog sistema, aplikaciju, datoteke… (sve nezavisno). Zbog toga
zauzimaju više memorije: merna jedinica GB.
Sporo se pokreću.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kad da koristimo kontejnere, a kad virtuelne mašine?

A

Virtuelne mašine su bolje rešenje kada aplikacije zahtevaju sve resurse i funkcionalnosti operativnog sistema ili kada nam je potrebno da imamo više različitih operativnih sistema na raspolaganju.
Kontejneri su bolje rešenje kada želimo da maksimizujemo broj pokrenutih aplikacija na minimalnom broju servera.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Prednosti upotreba Docker-a u odnosu na VM?

A

Pojednostavljivanje konfiguracije;
- Izvoz razvojnog koda u produkcioni;
- Multi-tenant aplikacije: Više klijenata koristi istu aplikaciju. Kao da je aplikacija proizvod koji se prodaje više puta;
- Produktivnost razvijaoca;
- Konsolidacija servera: Jeftinije je imati više kontejner servera nego VM servera;
- Docker nudi alate za debagovanje;
- Brz izvoz (pokretanje kontejnera traje par milisekundi).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Sta je Docker Hub?

A

Docker Hub je cloud-based sistem za čuvanje docker slika.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Koja je razlika između ENTRYPOINT i CMD?

A

ENTRYPOINT možemo da posmatramo kao “prefiks komande” tj. deo koji je “uvek” tu kao prefiks.

CMD možemo da posmatramo kao podrazumevani “sufiks komande” tj. deo koji je “uvek” tu, osim ako se drugačije ne kaže.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kako se postize perzistentnost podataka prilikom koriscenja Docker-a?

A

Postoji opcija da se podaci čuvaju nezavisno od kontejnera. Pravimo stalnu memoriju/particiju (volume) koja se deli između korisnika i kontejnera.
Kada pokrećemo novi docker kontejner, potrebno je da izvršimo povezivanje preko opcie -v [VOLUME]:[PATH]:

  • mkdir data
  • docker run -v ${PWD}/data:/data database, gde ${PWD} predstavlja trenutnu radnu putanja
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Yaml datoteke

A

Ideja ovog jezika je da se pišu struktuirani podaci za konfiguraciju i da bude veoma čitljiv. Sličan je json-u. Ekstenzija za ove datoteke je .yml

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

docker-compose.yml

A

Alat docker-compose služi za definisanje i pokretanje Docker aplikacija sa više kontejnera. Konfigurisanje se definiše u docker-compose.yml datoteci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly