Ievads Docker un tā instalēšana

1. Kas ir Docker?

Docker ir atvērtā pirmkoda platforma, kas ļauj izstrādātājiem un sistēmu administratoriem automātiski izvietot, darbināt un pārvaldīt lietojumprogrammas "konteineros" (containers).

Konteiners vs Virtuālā mašīna (VM):

  • Virtuālā mašīna: Emulē pilnu datora aparatūru un prasa atsevišķu operētājsistēmu (OS) katrai virtuālajai mašīnai. Tas patērē daudz RAM un CPU resursu.

  • Konteiners: Izmanto un dala vienu resursdatora operētājsistēmas kodolu (host OS kernel), bet izolē pašu lietojumprogrammu un tās atkarības. Konteineri ir daudz vieglāki, ātrāk startējas un patērē mazāk resursu nekā tradicionālās virtuālās mašīnas.

Kāpēc izmantot Docker?

  • Vienveidība: Lietojumprogramma darbosies vienādi gan uz izstrādātāja datora, gan uz testēšanas, gan produkcijas servera ("It works on my machine" problēmas risinājums).

  • Izolācija: Katrs konteiners darbojas savā izolētā vidē (failu sistēma, tīkls, procesi), kas uzlabo drošību un novērš konfliktu rašanos starp dažādām programmām.

  • Efektivitāte: Uz viena fiziskā vai virtuālā servera var darbināt simtiem konteineru.

2. Docker arhitektūras pamati

  • Docker Engine: Core programma, kas darbina un pārvalda konteinerus (sastāv no Docker daemon un Docker CLI komandrindas rīka).

  • Docker Image (Attēls): Tikai lasāma (read-only) veidne ar instrukcijām konteinera izveidei. Tas satur OS bāzi (piemēram, Ubuntu, Alpine), lietojumprogrammas kodu un nepieciešamās bibliotēkas.

  • Docker Container (Konteiners): Izpildāma Docker attēla instance. Konteineri ir aktīvi, un tajos reāli darbojas programmatūra.

  • Docker Hub: Publiskais repozitorijs (reģistrs), kur glabājas tūkstošiem gatavu Docker attēlu (piem., Nginx, Apache, MySQL, WordPress), kurus var lejupielādēt un izmantot.


3. Praktiskais uzdevums: Docker instalēšana Ubuntu operētājsistēmā

Piezīme: Lai gan Docker var instalēt arī Windows (izmantojot Docker Desktop un WSL2), serveru vidē un IT infrastruktūrās dominē Linux (piemēram, Ubuntu). Šis gids fokusējas uz Ubuntu.

Sagatavošanās:

  1. Pārliecinies, ka datoram ir interneta pieslēgums.

  2. Tev ir nepieciešamas sudo (administratora) privilēģijas.

  3. Atver komandrindu (Terminal).

1. solis: Sistēmas pakotņu atjaunināšana

Pirms jaunas programmatūras instalēšanas vienmēr ir svarīgi atjaunināt esošo pakotņu sarakstu.

bash
sudo apt update

2. solis: Priekšnosacījumu (Prerequisites) instalēšana

Docker instalēšanai nepieciešamas dažas pamatpakotnes, kas ļauj apt pakotņu pārvaldniekam lejupielādēt failus caur drošu HTTPS savienojumu.

bash
sudo apt install apt-transport-https ca-certificates curl software-properties-common

3. solis: Docker oficiālās GPG atslēgas pievienošana

Lai sistēma varētu pārbaudīt Docker pakotņu autentiskumu un drošību, jāpievieno Docker oficiālā GPG (GNU Privacy Guard) atslēga.

bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. solis: Docker repozitorija pievienošana

Pievienosim Docker repozitoriju sistēmas pakotņu sarakstam, lai lejupielādētu jaunāko, oficiālo versiju (nevis to, kas ir Ubuntu noklusējuma repozitorijā un var būt novecojusi).

bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. solis: Docker instalēšana

Tagad, kad repozitorijs ir pievienots, atjaunināsim sarakstu vēlreiz un instalēsim pašu Docker dzinēju (Docker Engine).

bash
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io

6. solis: Pārbaude, vai Docker darbojas

Pārbaudīsim, vai Docker serviss ir aktīvs un startējas automātiski kopā ar sistēmu (līdzīgi kā mēs pārbaudām Apache vai MySQL).

bash
sudo systemctl status docker

Ja viss ir veiksmīgi, statusam jābūt active (running).

Lai izietu no statusa skata, nospied q uz tastatūras.

7. solis: (Neobligāti, bet ieteicami) Lietotāja pievienošana Docker grupai

Pēc noklusējuma tikai root lietotājs (vai lietojot sudo) drīkst palaist Docker komandas. Lai nebūtu katru reizi jāraksta sudo, pievienosim savu lietotāju docker grupai.

bash
sudo usermod -aG docker ${USER}

Pēc šīs komandas izpildes tev ir jāizrakstās no sistēmas (Log out) un jāierakstās atpakaļ (Log in), lai izmaiņas stātos spēkā.


4. Pirmais Docker konteiners ("Hello World")

Lai pārliecinātos, ka Docker ir instalēts un spēj lejupielādēt attēlus no Docker Hub, palaidīsim vienkāršu testa konteineru.

bash
docker run hello-world

Kas notiek šīs komandas izpildes laikā?

  1. Docker klients sazinās ar Docker daemon (dzinēju).

  2. Docker dzinējs pārbauda, vai "hello-world" attēls ir pieejams lokāli datorā.

  3. Tā kā attēla nav, Docker to automātiski lejupielādē no publiskā Docker Hub repozitorija.

  4. No lejupielādētā attēla tiek izveidots un palaists jauns izolēts konteiners.

  5. Konteiners izpilda savu uzdevumu – izvada paziņojumu terminālī ("Hello from Docker! This message shows that your installation appears to be working correctly.") un pēc tam automātiski beidz darbību.

5. Noderīgākās Docker pamatkomandas

Kad instalācija ir pabeigta, šīs ir komandas, kuras izmantosi ikdienā:

KomandaApraksts
docker psParāda visus aktīvos (darbībā esošos) konteinerus.
docker ps -aParāda visus konteinerus (arī apturētos/pabeigtos).
docker imagesParāda visus lokāli lejupielādētos Docker attēlus.
docker pull [attēla_nosaukums]Lejupielādē attēlu no Docker Hub (piem., docker pull nginx), bet vēl to nepalaists.
docker run [attēla_nosaukums]Izveido un palaiž jaunu konteineru no norādītā attēla.
docker stop [konteinera_ID]Aptur strādājošu konteineru (ID var uzzināt ar docker ps).
docker rm [konteinera_ID]Izdzēš apturētu konteineru.
docker rmi [attēla_ID]Izdzēš lokālo Docker attēlu (ja tas vairs nav vajadzīgs).


Last modified: Tuesday, 7 April 2026, 9:49 AM