Docker Ievads: Ātri Sāc Konteinerizēt Savu Lietotni

2/18/2026
5 min read

Docker Ievads: Ātri Sāc Konteinerizēt Savu Lietotni

Docker ir kļuvis par neatņemamu mūsdienu programmatūras izstrādes un izvietošanas daļu. Lai gan diskusijas par Kubernetes ir visuresošas, Docker joprojām ir daudzu uzņēmumu iecienītākais rīks lietojumprogrammu būvēšanai, testēšanai un izvietošanai. Šis raksts tevi ātri ievedīs Docker pasaulē, iepazīstinās ar tā galvenajiem jēdzieniem un sniegs praktisku piemēru, kas palīdzēs tev sākt konteinerizēt savu lietotni.

Docker Galvenie Jēdzieni

Pirms sākt praktiski darboties, ir svarīgi saprast dažus Docker galvenos jēdzienus:

  • Attēls (Image): Attēls ir tikai lasāms šablons, kas satur visu, kas nepieciešams lietojumprogrammas palaišanai: kodu, izpildes vidi, sistēmas rīkus, bibliotēkas un atkarības. Līdzīgs virtuālās mašīnas attēlam, bet daudz vieglāks.

  • Konteiners (Container): Konteiners ir darbojošs instances no attēla. Tas ir attēla izpildlaika instances, kas satur lietojumprogrammu un visas tās atkarības. Konteineri ir savstarpēji izolēti, tiem ir sava failu sistēma, procesi un tīkla telpa.

  • Docker Hub: Docker Hub ir publiska attēlu repozitorija, no kuras vari lejupielādēt iepriekš izveidotus attēlus, kā arī augšupielādēt savus attēlus. Līdzīgs GitHub, bet paredzēts Docker attēliem.

  • Dockerfile: Dockerfile ir teksta fails, kas satur visas instrukcijas Docker attēla būvēšanai. Rakstot Dockerfile, tu vari automatizēt attēla izveides procesu.

  • Docker Compose: Docker Compose ir rīks, ko izmanto, lai definētu un palaistu vairāku konteineru Docker lietojumprogrammas. Tas ļauj tev konfigurēt lietojumprogrammas pakalpojumus, izmantojot YAML failu, un pēc tam palaist vai apturēt visus pakalpojumus ar vienu komandu.

Docker Instalēšana

Pirmkārt, tev jāinstalē Docker. Docker piedāvā instalācijas pakotnes dažādām operētājsistēmām. Apmeklē Docker oficiālo vietni un seko atbilstošajiem norādījumiem, lai to instalētu.

Pēc instalēšanas pabeigšanas vari pārbaudīt, vai Docker ir pareizi instalēts, palaižot komandu docker --version.

Konteinerizē Vienkāršu Python Lietotni

Mēs izveidosim vienkāršu Python lietotni un izmantosim Docker, lai to konteinerizētu.

1. Izveido Python Lietotni

Izveido failu ar nosaukumu app.py, kas satur šādu kodu:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, Docker!"

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0')

Šī vienkāršā Flask lietotne atgriezīs "Hello, Docker!" saknes ceļā /.

2. Izveido requirements.txt Failu

Lietojumprogramma ir atkarīga no Flask bibliotēkas, mums jāizveido requirements.txt fails, lai deklarētu šīs atkarības.

Flask

3. Izveido Dockerfile

Izveido failu ar nosaukumu Dockerfile un pievieno šādu saturu:

# Izmanto oficiālo Python attēlu kā bāzes attēlu
FROM python:3.9-slim-buster

# Iestata darba direktoriju
WORKDIR /app

# Kopē requirements.txt failu uz darba direktoriju
COPY requirements.txt .

# Instalē atkarības
RUN pip install --no-cache-dir -r requirements.txt
# Lietojumprogrammas koda kopēšana darba direktorijā
COPY app.py .

# 5000. porta atklāšana
EXPOSE 5000

# Startēšanas komandas definēšana
CMD ["python", "app.py"]

Dockerfile skaidrojums:

  • FROM python:3.9-slim-buster: Norāda bāzes attēlu kā Python 3.9 vienkāršoto versiju.
  • WORKDIR /app: Iestata konteinera darba direktoriju uz /app.
  • COPY requirements.txt .: Kopē requirements.txt failu no pašreizējā direktorija uz konteinera /app direktoriju.
  • RUN pip install --no-cache-dir -r requirements.txt: Konteinerā palaiž pip komandu, lai instalētu requirements.txt failā norādītās atkarības. Parametrs --no-cache-dir var samazināt attēla izmēru.
  • COPY app.py .: Kopē app.py failu no pašreizējā direktorija uz konteinera /app direktoriju.
  • EXPOSE 5000: Paziņo, ka konteiners klausīsies 5000. portu.
  • CMD ["python", "app.py"]: Definē komandu, kas jāizpilda, startējot konteineru.

4. Docker attēla izveide

Direktorijā, kurā atrodas Dockerfile, palaidiet šo komandu, lai izveidotu Docker attēlu:

docker build -t my-python-app .
  • docker build: Komanda attēla izveidei.
  • -t my-python-app: Norāda attēlam nosaukumu (my-python-app).
  • .: Norāda direktoriju, kurā atrodas Dockerfile (pašreizējais direktorijs).

Izveides process var aizņemt kādu laiku, atkarībā no tīkla ātruma un atkarību lieluma.

5. Docker konteinera palaišana

Izmantojiet šo komandu, lai palaistu Docker konteineru:

docker run -d -p 5000:5000 my-python-app
  • docker run: Komanda konteinera palaišanai.
  • -d: Palaiž konteineru atdalītā režīmā (darbojas fonā).
  • -p 5000:5000: Kartē resursdatora 5000. portu uz konteinera 5000. portu.
  • my-python-app: Norāda izmantojamā attēla nosaukumu.

6. Lietojumprogrammas pārbaude

Pārlūkprogrammā apmeklējiet http://localhost:5000, un jums vajadzētu redzēt "Hello, Docker!".

7. Konteinera apturēšana un dzēšana

Izmantojiet šo komandu, lai apturētu konteineru:

docker stop 

`` Varat apskatīt, izmantojot komandu docker ps.

Izmantojiet šo komandu, lai izdzēstu konteineru:

docker rm 

Docker Compose iesācējiem

Ja jūsu lietojumprogramma sastāv no vairākiem pakalpojumiem, varat izmantot Docker Compose, lai tos pārvaldītu.

1. docker-compose.yml faila izveide

Izveidojiet failu ar nosaukumu docker-compose.yml un pievienojiet šādu saturu:

version: "3.9"
services:
  web:
    image: my-python-app
    ports:
      - "5000:5000"

docker-compose.yml skaidrojums:* version: "3.9": Norāda Docker Compose faila versiju.

  • services: Definē lietojumprogrammas servisus.
  • web: Definē servisu ar nosaukumu "web".
  • image: my-python-app: Norāda servisa izmantoto attēlu.
  • ports: Definē portu kartēšanu.

2. Lietojumprogrammas palaišana

Katalogā, kurā atrodas docker-compose.yml fails, palaidiet šādu komandu, lai palaistu lietojumprogrammu:

docker-compose up -d
  • docker-compose up: Komanda lietojumprogrammas palaišanai.
  • -d: Palaidiet konteineru atdalītā režīmā.

3. Lietojumprogrammas apturēšana

Izmantojiet šādu komandu, lai apturētu lietojumprogrammu:

docker-compose down

Docker drošības labākā prakse

Kā redzams no diskusijas, Docker attēlu drošība ir svarīgs jautājums. Šeit ir daži Docker drošības labākās prakses:

  • Izmantojiet oficiālos attēlus: Cik vien iespējams, izmantojiet oficiāli nodrošinātos attēlus, kas parasti ir skenēti un uzturēti drošībai.
  • Skenējiet attēlu ievainojamības: Izmantojiet tādus rīkus kā Trivy, lai skenētu attēlus, vai nav zināmu ievainojamību, un savlaicīgi atjauniniet attēlus.
  • Izmantojiet minimālo privilēģiju principu: Izvairieties no konteineru palaišanas ar root lietotāju.
  • Ierobežojiet konteineru resursus: Izmantojiet cgroups, lai ierobežotu konteineru CPU un atmiņas izmantošanu.
  • Regulāri atjauniniet attēlus: Uzturiet attēlus atjauninātus, lai labotu drošības ievainojamības.
  • Izmantojiet drošības skenēšanas rīkus: Tādi rīki kā Snyk, Clair utt. var tikt integrēti jūsu CI/CD procesā, lai automātiski skenētu attēlu ievainojamības.

SecinājumsŠis raksts sniedz ātru Docker ievada pamācību, aptverot galvenos jēdzienus, instalēšanas soļus un vienkāršu Python lietotnes konteinerizācijas piemēru. Apgūstot šos pamatus, jūs varat sākt izmantot Docker, lai izveidotu, testētu un izvietotu savas lietojumprogrammas. Atcerieties, ka drošība ir ļoti svarīga, vienmēr pievērsiet uzmanību Docker attēlu drošībai un veiciet atbilstošus pasākumus, lai aizsargātu savas lietojumprogrammas. Lai gan Kubernetes ir spēcīgs liela mēroga konteineru orķestrēšanā, Docker daudzos gadījumos joprojām ir vienkāršs un efektīvs risinājums. Pārvaldot Docker, jūs varat labāk tikt galā ar mūsdienu programmatūras izstrādes un izvietošanas izaicinājumiem.

Published in Technology

You Might Also Like