Arvutiteaduse instituut
  1. Kursused
  2. 2025/26 sügis
  3. Andmeteaduse abimees 2025 sügis (LTAT.00.999)
EN
Logi sisse

Andmeteaduse abimees 2025 sügis 2025/26 sügis

  • Pealeht
  • Sissejuhatus
  • IT
  • Python
  • SQL
  • R
  • Koodihaldus
  • Docker
  • Excel
  • Visualiseerimine
  • UNIX
  • Maths
  • Viited

Docker

Docker on tööriist, mis võimaldab sul käitada rakendusi isoleeritud konteinerites.

Miks see kasulik on?

  • Platvormi sõltumatus – rakendus töötab ühtemoodi igal masinal.
  • Kergekaalulisus – erinevalt virtuaalmasinast ei vaja täit OS-i, vaid ainult vajalikku rakendust ja sõltuvusi.
  • Reprodutseeritavus – sama image tagab sama keskkonna.

Tutorial (inglise keeles): https://www.hostinger.com/tutorials/docker-tutorial
Tutorial (eesti keeles): https://github.com/adlerpriit/2025_taka_fall/blob/main/teemad/docker.md
Arenduskonteinerid (eesti keeles, VSCode näitel): https://github.com/adlerpriit/2025_taka_fall/blob/main/teemad/devcontainers.md

Dockeri kasutamise praktilised/elulised stsenaariumid

1. Arendus vs produktsioon

  • Arendajad saavad kasutada sama Dockerfile'i nii arenduses kui ka produktsioonis, tagades identse tarkvarakeskkonna.
  • Arenduses võib kasutada bind mount'e ja avatud porte, produktsioonis piirata ligipääsu ja kasutada optimeeritud image'eid.

2. Arenduskeskkonna ühtlustamine kogu meeskonnale

  • Kõik tiimiliikmed saavad identse arenduskeskkonna sõltumata oma arvuti operatsioonisüsteemist või seadistustest.
  • Uue arendaja liitumisel piisab ühest käsust (docker compose up vms), et kogu stack tööle saada.

3. Tarkvara pakendamine platvormist sõltumatult

  • Docker image töötab igal masinal, kus on Docker – pole vahet, kas host on Windows, Mac või Linux.
  • Lihtne tarkvara jagamine klientidele või partneritele: "käivita see image".

4. Mitme teenuse haldamine ja orkestreerimine

  • Näiteks veebirakendus + andmebaas + cache – igaüks oma konteineris, suhtlevad omavahel läbi võrgu.
  • Docker Compose võimaldab kogu stacki käivitada ühe käsuga.

5. Legacy tarkvara käitamine

  • Vanad rakendused, mis vajavad spetsiifilist OS-i või teeke, saab isoleerida konteinerisse, vältides konflikte hosti süsteemiga.

6. Testimine ja CI/CD

  • Testid saab jooksutada puhtas konteineris, vältides "minu masinas töötab" tüüpi probleeme.
  • CI/CD süsteemides (nt GitHub Actions, GitLab CI) kasutatakse tihti Dockeri konteinerites buildimist ja testimist.

7. Skaalautuvus ja pilvekeskkonnad

  • Konteinerid sobivad hästi automaatseks skaleerimiseks pilves (nt Kubernetes, AWS ECS).
  • Sama image'it saab käivitada kümnetes või sadades koopiates vastavalt vajadusele.

8. Õpetus ja katsetamine

  • Õppekeskkondades saab anda igale õppijale oma isoleeritud konteineri.
  • Uute tehnoloogiate või tööriistade katsetamine ilma oma arvutit "risustamata".

9. Turvalisus ja isoleerimine

  • Konteinerid võimaldavad piirata rakenduse ligipääsu hosti ressurssidele (failisüsteem, võrk).
  • Võimalik jooksutada potentsiaalselt ohtlikku koodi piiratud keskkonnas.
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused