Dockeri sissejuhatav juhend: rakenduse konteineriseerimine kiiresti

2/18/2026
5 min read
# Dockeri sissejuhatav juhend: rakenduse konteineriseerimine kiiresti

Dockerist on saanud kaasaegse tarkvaraarenduse ja juurutamise lahutamatu osa. Kuigi Kubernetes'e ümber käib tohutu arutelu, on Docker endiselt paljude ettevõtete eelistatud tööriist rakenduste loomiseks, testimiseks ja juurutamiseks. See artikkel tutvustab teile kiiresti Dockerit, tutvustab selle põhimõisteid ja pakub praktilise näite, mis aitab teil oma rakenduse konteineriseerimisega alustada.

## Docker'i põhimõisted

Enne praktiseerimist on oluline mõista mõningaid Docker'i põhimõisteid:

*   **Kujutis (Image):** Kujutis on kirjutuskaitstud mall, mis sisaldab kõike, mida on vaja rakenduse käitamiseks: kood, käituskeskkond, süsteemitööriistad, teegid ja sõltuvused. Sarnane virtuaalmasina kujutisega, kuid kergem.

*   **Konteiner (Container):** Konteiner on kujutisest loodud töötav instants. See on kujutise käitusaja instants, mis sisaldab rakendust ja kõiki selle sõltuvusi. Konteinerid on üksteisest isoleeritud ja neil on oma failisüsteem, protsessid ja võrguruum.

*   **Docker Hub:** Docker Hub on avalik kujutiste hoidla, kust saate alla laadida eelnevalt ehitatud kujutisi ja üles laadida oma kujutisi. Sarnane GitHubiga, kuid spetsiaalselt Docker'i kujutiste jaoks.

*   **Dockerfile:** Dockerfile on tekstifail, mis sisaldab kõiki Docker'i kujutise loomise juhiseid. Dockerfile'i kirjutades saate kujutise loomise protsessi automatiseerida.

*   **Docker Compose:** Docker Compose on tööriist mitme konteineriga Docker'i rakenduste määratlemiseks ja käitamiseks. See võimaldab teil YAML-faili abil konfigureerida rakenduse teenuseid ja seejärel käivitada või peatada kõik teenused ühe käsuga.

## Docker'i installimine

Esmalt peate installima Docker'i. Docker pakub installipakette erinevatele operatsioonisüsteemidele. Külastage [Docker'i ametlikku veebisaiti](https://www.docker.com/get-started/) ja järgige vastavaid juhiseid installimiseks.

Pärast installimist saate Docker'i õige installimise kontrollimiseks käivitada käsu `docker --version`.

## Lihtsa Pythoni rakenduse konteineriseerimine

Loome lihtsa Pythoni rakenduse ja konteineriseerime selle Docker'i abil.

### 1. Pythoni rakenduse loomine

Looge fail nimega `app.py`, mis sisaldab järgmist koodi:

```python
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')

See lihtne Flaski rakendus tagastab juurtee / peal "Hello, Docker!".

2. Faili requirements.txt loomine

Rakendus sõltub Flaski teegist, seega peame looma faili requirements.txt, et need sõltuvused deklareerida.

Flask

3. Dockerfile'i loomine

Looge fail nimega Dockerfile ja lisage järgmine sisu:

# Kasutage ametlikku Pythoni kujutist põhikujutisena
FROM python:3.9-slim-buster

# Määrake töökataloog
WORKDIR /app

# Kopeerige fail requirements.txt töökataloogi
COPY requirements.txt .

# Installige sõltuvused
RUN pip install --no-cache-dir -r requirements.txt
```# Kopeeri rakenduse kood töökataloogi
COPY app.py .

# Ava port 5000
EXPOSE 5000

# Defineeri käivitamise käsk
CMD ["python", "app.py"]

Dockerfile'i selgitus:

  • FROM python:3.9-slim-buster: Määrab baaspildi Python 3.9 lihtsustatud versioonina.
  • WORKDIR /app: Määrab konteineri töökataloogiks /app.
  • COPY requirements.txt .: Kopeerib praeguses kataloogis oleva faili requirements.txt konteineri kataloogi /app.
  • RUN pip install --no-cache-dir -r requirements.txt: Käivitab konteineris pip käsu, et installida failis requirements.txt määratud sõltuvused. --no-cache-dir parameeter aitab vähendada pildi suurust.
  • COPY app.py .: Kopeerib praeguses kataloogis oleva faili app.py konteineri kataloogi /app.
  • EXPOSE 5000: Deklareerib, et konteiner kuulab porti 5000.
  • CMD ["python", "app.py"]: Määrab konteineri käivitamisel käivitatava käsu.

4. Docker'i pildi ehitamine

Käivitage Dockerfile'i sisaldavas kataloogis järgmine käsk Docker'i pildi ehitamiseks:

docker build -t my-python-app .
  • docker build: Käsk pildi ehitamiseks.
  • -t my-python-app: Määrab pildile nime (my-python-app).
  • .: Määrab Dockerfile'i asukoha (praegune kataloog).

Ehitusprotsess võib võtta aega, sõltuvalt võrgu kiirusest ja sõltuvuste suurusest.

5. Docker'i konteineri käivitamine

Käivitage Docker'i konteiner järgmise käsuga:

docker run -d -p 5000:5000 my-python-app
  • docker run: Käsk konteineri käivitamiseks.
  • -d: Käivitab konteineri eraldatud režiimis (töötab taustal).
  • -p 5000:5000: Kaardistab hostmasina pordi 5000 konteineri pordile 5000.
  • my-python-app: Määrab kasutatava pildi nime.

6. Rakenduse valideerimine

Külastage brauseris aadressi http://localhost:5000, peaksite nägema "Hello, Docker!".

7. Konteineri peatamine ja kustutamine

Kasutage konteineri peatamiseks järgmist käsku:

docker stop 

`` saab vaadata käsuga docker ps.

Kasutage konteineri kustutamiseks järgmist käsku:

docker rm 

Docker Compose'i sissejuhatus

Kui teie rakendus koosneb mitmest teenusest, saate nende haldamiseks kasutada Docker Compose'i.

1. Faili docker-compose.yml loomine

Looge fail nimega docker-compose.yml ja lisage järgmine sisu:

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

docker-compose.yml selgitus:* version: "3.9": määrab Docker Compose'i faili versiooni.

  • services: määratleb rakenduse teenused.
  • web: määratleb teenuse nimega "web".
  • image: my-python-app: määrab teenuse poolt kasutatava kujutise.
  • ports: määratleb pordi kaardistused.

2. Rakenduse käivitamine

Rakenduse käivitamiseks käivitage docker-compose.yml faili sisaldavas kataloogis järgmine käsk:

docker-compose up -d
  • docker-compose up: käsk rakenduse käivitamiseks.
  • -d: käitab konteineri eraldatud režiimis.

3. Rakenduse peatamine

Rakenduse peatamiseks kasutage järgmist käsku:

docker-compose down

Docker'i turvalisuse parimad praktikad

Nagu arutelust näha, on Docker'i kujutiste turvalisus oluline probleem. Siin on mõned Docker'i turvalisuse parimad praktikad:

  • Kasutage ametlikke kujutisi: Võimalusel kasutage ametlikke kujutisi, mis on tavaliselt turvalisuse suhtes skannitud ja hooldatud.
  • Skannige kujutiste haavatavusi: Kasutage tööriistu nagu Trivy, et skannida kujutisi teadaolevate haavatavuste suhtes ja värskendage kujutisi õigeaegselt.
  • Kasutage minimaalsete õiguste põhimõtet: Vältige konteinerite käitamist root-kasutajana.
  • Piirake konteineri ressursse: Kasutage cgroups, et piirata konteineri CPU ja mälu kasutust.
  • Värskendage kujutisi regulaarselt: Hoidke kujutised värskena, et parandada turvaauke.
  • Kasutage turvalisuse skannimise tööriistu: Tööriistad nagu Snyk, Clair jne saab integreerida teie CI/CD protsessi, et automaatselt skannida kujutiste haavatavusi.

JäreldusSelles artiklis antakse Dockerile kiire sissejuhatus, mis hõlmab põhimõisteid, paigaldusjuhiseid ja lihtsa Pythoni rakenduse konteineriseerimise näidet. Neid põhiteadmisi omandades saad alustada Dockeriga oma rakenduste ehitamist, testimist ja juurutamist. Pea meeles, et turvalisus on ülimalt tähtis, seega pööra alati tähelepanu Docker'i kujutiste turvalisusele ja võta kasutusele asjakohased meetmed oma rakenduste kaitsmiseks. Kuigi Kubernetes on suuremahulise konteinerite orkestreerimise osas võimas, on Docker paljudes stsenaariumides endiselt lihtne ja tõhus lahendus. Docker'i valdamine võimaldab sul paremini toime tulla kaasaegse tarkvaraarenduse ja juurutamise väljakutsetega.

Published in Technology

You Might Also Like