Juhendid

Mis on Docker? Konteinerid lihtsas keeles selgitatud

Docker on tööriist, mis pakendab rakenduse koos kõigega, mida ta käivitamiseks vajab – õige keeleversiooni, teegid, süsteemitööriistad ja seaded – standardsesse üksusesse, mida nimetatakse konteineriks. Konteiner töötab samamoodi arendaja sülearvutis, testserveris või pilvehostis, mis lõpetab klassikalise probleemi „aga minu arvutis töötas". Konteineri ehitamise retsept on lühike tekstifail, mida nimetatakse Dockerfile'iks.

Miks Docker AI-ga ehitamisel oluline on

Kui su rakendusel on tagarakendus – API Pythonis, Nodes, C#-s või Javas – peab see töötama kohas, kus on täpselt õige tarkvara paigaldatud. Docker on kõige levinum viis selle korduvaks tegemiseks.

  • Tagarakenduste juurutamine. Paljud hostid, sealhulgas Mythex, juurutavad tagarakendusi, ehitades Dockerfile'ist konteineri. Mythexis saad küsides „C# Web API" või „Java tagarakendus" rakenduse ja Dockerfile'i ning avaldamine ehitab pildi ja juurutab selle (API tagarakendused).
  • Platvormilt lahkumine. Kui eksportid AI-ga ehitatud rakenduse, teeb Dockerfile rakenduse käivitamise teises hostis palju lihtsamaks. Vt kuidas eksportida ja ise hostida AI-ga ehitatud rakendus.
  • Koostöö arendajatega. Projektiga liituv arendaja saab kogu rakenduse käivitada ühe-kahe käsuga, mitte ei kuluta päeva asjade paigaldamisele.

Igapäevane võrdlus: merekonteinerid

Enne standardseid merekonteinereid laaditi kaup tükkhaaval – kotid, tünnid, kastid – ja iga sadam käsitles seda omamoodi. Standardne terasest konteiner muutis selle: paki üks kord ja iga laev, kraana, rong või veoauto saab seda liigutada, hoolimata sellest, mis sees on.

Docker teeb sama tarkvaraga:

  • Dockerfile on pakkimisloend ja juhised.
  • Pilt on suletud, pakitud konteiner.
  • Töötav konteiner on see kast, mis on laevale tööle pandud – siin serveris.
  • Docker Engine on kraana ja laev: tarkvara serveris, mis oskab käivitada mis tahes konteinerit.

Kuidas Docker töötab

OsaMis see on
DockerfileTekstifail sammudega, kuidas pilt ehitada.
PiltAinult lugemiseks pakend: operatsioonisüsteemi põhiosad, käitusaeg, teegid ja sinu kood.
KonteinerPildi töötav eksemplar, isoleeritud teistest sama masina rakendustest.
RegisterKoht piltide hoidmiseks ja jagamiseks, näiteks Docker Hub või pilveteenuse pakkuja register.
Docker EngineTaustateenus, mis ehitab pilte ja käitab konteinereid. Tasuta ja avatud lähtekoodiga.
Docker DesktopMac-, Windowsi- ja Linuxi rakendus, mis pakub Enginet graafilise liidesega.

Konteinerid vs virtuaalmasinad: virtuaalmasin teeskleb olevat täiesti eraldi arvuti oma operatsioonisüsteemiga, seega on see raske ja aeglane käivituma. Konteiner jagab hosti operatsioonisüsteemi tuuma ja isoleerib ainult rakenduse ja selle failid, seega käivitub tavaliselt sekunditega ning kasutab palju vähem mälu. Ühel serveril saab korraga töötada palju konteinereid.

Näide: väike Pythoni API

Oletame, et su AI ehitaja lõi broneerimisrakenduse jaoks Pythoni FastAPI tagarakenduse. Dockerfile võib välja näha selline:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Rida-realt:

RidaMida see teeb
FROM python:3.12-slimAlustab ametlikust pildist, kus on juba Python 3.12 paigaldatud.
WORKDIR /appTöötab konteineri kaustas /app.
COPY requirements.txt . ja RUN pip install ...Kopeerib teekide loendi ja paigaldab need.
COPY . .Kopeerib rakenduse enda koodi.
EXPOSE 8000Märgib, et rakendus kuulab porti 8000.
CMD [...]Käsk, mis käivitab veebiserveri, kui konteiner töötab.

Lihtsalt öeldes: „Alusta Python 3.12-ga. Paigalda requirements.txt failis loetletud teegid. Kopeeri sisse kood. Käivita veebiserver pordil 8000."

Arendaja (või hostiplatvorm) käivitab seejärel kaks käsku:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

Esimene ehitab pildi ja annab sellele nimeks booking-api. Teine käivitab konteineri ja ühendab masina pordi 8000 konteineri sees oleva pordiga 8000. API töötab nüüd – samamoodi nagu töötab igal serveril, kus on Docker.

Pane tähele, mida pildis ei ole: paroolid ja API-võtmed. Need antakse konteineri käivitamisel edasi keskkonnamuutujatena, nii et sama pilt saab töötada testimises ja tootmises erinevate seadetega.

Põhimõisted

MõisteTähendus
KonteinerIsoleeritud, töötav pakend rakendusest ja selle sõltuvustest.
PiltMall, millest konteiner käivitatakse.
BaaspiltDockerfile'i FROM rea lähtepunkt, näiteks python:3.12-slim või node:22.
KihtIga Dockerfile'i samm lisab vahemällu salvestatud kihi, mis teeb uuesti ehitamise kiiremaks.
Pordi kaardistamineHosti pordi ühendamine konteineri sees oleva pordiga.
Andmemaht (volume)Salvestusruum, mis jääb alles, kui konteiner asendatakse. Konteinerid ise on ühekordsed.
Docker ComposeFail, mis kirjeldab mitut koos töötavat konteinerit, näiteks API ja andmebaasi.
KubernetesSüsteem paljude konteinerite käitamiseks paljudel serveritel. Enamik väikesi rakendusi ei vaja seda.

Levinud väärarusaamad

  • „Docker on virtuaalmasin." See on kergem: konteinerid jagavad hosti tuuma.
  • „Konteineris salvestatud andmed on turvalised." Konteinerid on mõeldud ära visatavaks ja asendatavaks. Kõik, mis peab püsima – kasutajaandmed, üleslaadimised – kuulub andmebaasi, failisalvestusse või andmemahtu.
  • „Saladuste panemine Dockerfile'i on okei, sest see on privaatne." Pildid jagatakse ja lükatakse registritesse. Saladused anna edasi käitamise ajal.
  • „Docker teeb rakenduse turvaliseks." Isoleerimine aitab, aga konteiner, mis käitab aegunud tarkvara nõrkade seadetega, on ikka haavatav.
  • „Iga rakendus vajab Dockerit." Staatiline sait või lihtne esiliides hostitakse tavaliselt tavaliste failidena, ilma konteinerita.
  • „Docker Desktop on kõigile tasuta." Engine on tasuta; Docker Desktop nõuab suuremate ettevõtete jaoks Dockeri tingimuste järgi tasulist tellimust.

Mida küsida oma AI ehitajalt

  • „Kas see rakendus vajab Dockerfile'i? Kui jah, selgita iga rida lihtsas keeles."
  • „Kasuta väikest ametlikku baaspilti ja kinnita keeleversioon."
  • „Hoia saladused pildist väljas. Loe need käitamise ajal keskkonnamuutujatest."
  • „Veendu, et üleslaadimised ja andmed salvestatakse andmebaasi või failisalvestusse, mitte konteinerisse."
  • „Lisa Docker Compose fail, et arendaja saaks esiliidest, API-d ja andmebaasi kohapeal ühe käsuga käivitada."
  • „Lisa tervisekontrolli lõpp-punkt, et host saaks öelda, kas API töötab."

Docker Mythexis

Mythexi kasutamiseks ei pea sa Dockerit paigaldama ega käitama. Sinu projekt töötab privaatses pilveliivakastis ja kui palud tagarakendust, mis vajab konteinerit – näiteks C#, Java või kohandatud Node- või Pythoni teenust –, kirjutab Mythex rakenduse ja Dockerfile'i, kuvab selle liivakastis eelvaates ning juurutab avaldamisel, ilma et sul oleks hosting seadistada (kuidas tehnoloogia valitakse). Pro-tasemel saad projekti eksportida või sünkroonida selle GitHubiga ja viia Dockerfile'i endaga kaasa. Kuidas tagarakendused ja esiliides koos töötavad, selgitab esiliides vs tagarakendus.

Küsimused

Mis on Docker lihtsalt öeldes?

Docker on tööriist, mis pakendab rakenduse koos kõigega, mida ta käivitamiseks vajab – keeleversiooni, teegid ja seaded – standardsesse üksusesse, mida nimetatakse konteineriks. Konteiner töötab samamoodi sülearvutis, testserveris või pilvehostis.

Mis vahe on Dockeri pildil ja konteineril?

Pilt on pakendatud, ainult lugemiseks mõeldud mall: rakendus ja selle sõltuvused, mis on ehitatud Dockerfile'ist. Konteiner on selle pildi töötav koopia. Ühest pildist saab käivitada palju konteinereid.

Kas Docker on virtuaalmasin?

Ei. Virtuaalmasin jäljendab kogu arvutit oma operatsioonisüsteemiga. Konteinerid jagavad hostmasina operatsioonisüsteemi tuuma ja isoleerivad ainult rakenduse, seega käivituvad need kiiremini ja kasutavad vähem mälu.

Kas Docker on tasuta?

Docker Engine, tuum, mis konteinereid käitab, on tasuta ja avatud lähtekoodiga. Dockeri tingimuste järgi on Docker Desktop 2026. aasta septembri seisuga tasuta mittekommertsiaalsetele avatud lähtekoodiga projektidele ning ettevõtetele, kus on alla 250 töötaja ja alla 10 miljoni dollari aastakäive; suuremad ettevõtted vajavad tasulist tellimust.

Kas pean AI-ga rakenduse ehitamiseks Dockerit õppima?

Tavaliselt mitte. Paljud AI ehitajad käsitlevad konteinereid sinu eest. Abiks on teada, mis on Dockerfile, et mõista, kuidas tagarakendus on pakendatud, ja et saaksid rakenduse eksportimisel käivitada selle mujal.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)