Institute of Computer Science
  1. Courses
  2. 2025/26 fall
  3. Data Science Helper 2025 Fall (LTAT.00.999)
ET
Log in

Data Science Helper 2025 Fall 2025/26 fall

  • 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.
  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment