Udhëzues Hyrës për Docker: Filloni Shpejt me Kontejnerizimin e Aplikacionit Tuaj

2/18/2026
6 min read

markdown\n# Udhëzues Hyrës për Docker: Filloni Shpejt me Kontejnerizimin e Aplikacionit Tuaj\n\nDocker është bërë një pjesë e domosdoshme e zhvillimit dhe vendosjes moderne të softuerit. Megjithë diskutimet e gjera rreth Kubernetes, Docker mbetet mjeti i preferuar për shumë kompani për të ndërtuar, testuar dhe vendosur aplikacionet. Ky artikull do t'ju udhëzojë shpejt në Docker, do të kuptoni konceptet e tij thelbësore dhe do të ofrojë një shembull praktik për t'ju ndihmuar të filloni me kontejnerizimin e aplikacionit tuaj.\n\n## Konceptet Thelbësore të Docker\n\nPërpara se të filloni praktikën, është thelbësore të kuptoni disa koncepte thelbësore të Docker:\n\n* **Imazhi (Image):** Imazhi është një shabllon vetëm për lexim, që përmban gjithçka që nevojitet për të ekzekutuar një aplikacion: kodin, mjedisin e ekzekutimit, mjetet e sistemit, libraritë dhe varësitë. Është i ngjashëm me një imazh të makinës virtuale, por më i lehtë.\n\n* **Kontejneri (Container):** Kontejneri është një instancë e ekzekutimit e krijuar nga një imazh. Është një instancë e ekzekutimit të një imazhi, që përmban aplikacionin dhe të gjitha varësitë e tij. Kontejnerët janë të izoluar nga njëri-tjetri, duke pasur sistemin e tyre të skedarëve, proceset dhe hapësirën e rrjetit.\n\n* **Docker Hub:** Docker Hub është një depo publike e imazheve, nga e cila mund të shkarkoni imazhe të para-ndërtuara, ose të ngarkoni imazhet tuaja. Është i ngjashëm me GitHub, por i specializuar për imazhet Docker.\n\n* **Dockerfile:** Dockerfile është një skedar tekst, që përmban të gjitha udhëzimet për ndërtimin e një imazhi Docker. Duke shkruar një Dockerfile, ju mund të automatizoni procesin e krijimit të imazhit.\n\n* **Docker Compose:** Docker Compose është një mjet për të definuar dhe ekzekutuar aplikacione Docker me shumë kontejnerë. Ai ju lejon të konfiguroni shërbimet e aplikacionit duke përdorur skedarë YAML, dhe më pas të filloni ose ndaloni të gjitha shërbimet me një komandë të vetme.\n\n## Instalimi i Docker\n\nSë pari, duhet të instaloni Docker. Docker ofron paketa instalimi për sisteme të ndryshme operative. Vizitoni [faqen zyrtare të Docker](https://www.docker.com/get-started/) dhe ndiqni udhëzimet përkatëse për instalim.\n\nPasi të keni përfunduar instalimin, mund të verifikoni nëse Docker është instaluar saktë duke ekzekutuar komandën `docker --version`.\n\n## Kontejnerizimi i një Aplikacioni të Thjeshtë Python\n\nDo të krijojmë një aplikacion të thjeshtë Python dhe do ta kontejnerizojmë atë duke përdorur Docker.\n\n### 1. Krijimi i Aplikacionit Python\n\nKrijoni një skedar të quajtur `app.py`, që përmban kodin e mëposhtëm:\n\npython\nfrom flask import Flask\napp = Flask(name)\n\n@app.route(# Kopjoni kodin e aplikacionit në direktorinë e punës COPY app.py .

Ekspozoni portin 5000

EXPOSE 5000

Përcaktoni komandën e nisjes

CMD ["python", "app.py"]


**Shpjegim i Dockerfile:**

*   `FROM python:3.9-slim-buster`: Specifikon imazhin bazë si një version i thjeshtuar i Python 3.9.
*   `WORKDIR /app`: Vendos direktorinë e punës brenda kontejnerit në `/app`.
*   `COPY requirements.txt .`: Kopjon skedarin `requirements.txt` nga direktoria aktuale në direktorinë `/app` të kontejnerit.
*   `RUN pip install --no-cache-dir -r requirements.txt`: Ekzekuton komandën `pip` brenda kontejnerit për të instaluar varësitë e specifikuara në skedarin `requirements.txt`. Parametri `--no-cache-dir` mund të zvogëlojë madhësinë e imazhit.
*   `COPY app.py .`: Kopjon skedarin `app.py` nga direktoria aktuale në direktorinë `/app` të kontejnerit.
*   `EXPOSE 5000`: Deklaron se kontejneri do të dëgjojë në portin 5000.
*   `CMD ["python", "app.py"]`: Përcakton komandën që do të ekzekutohet kur të nisë kontejneri.

### 4. Ndërtoni imazhin Docker

Në direktorinë që përmban `Dockerfile`, ekzekutoni komandën e mëposhtme për të ndërtuar imazhin Docker:

```bash
docker build -t my-python-app .
  • docker build: Komanda për të ndërtuar imazhin.
  • -t my-python-app: Specifikon një emër për imazhin (my-python-app).
  • .: Specifikon direktorinë ku ndodhet Dockerfile (direktoria aktuale).

Procesi i ndërtimit mund të zgjasë pak, në varësi të shpejtësisë së rrjetit dhe madhësisë së varësive.

5. Ekzekutoni kontejnerin Docker

Përdorni komandën e mëposhtme për të ekzekutuar kontejnerin Docker:

docker run -d -p 5000:5000 my-python-app
  • docker run: Komanda për të ekzekutuar kontejnerin.
  • -d: Ekzekuton kontejnerin në modalitet të shkëputur (në sfond).
  • -p 5000:5000: Harton portin 5000 të hostit në portin 5000 të kontejnerit.
  • my-python-app: Specifikon emrin e imazhit që do të përdoret.

6. Verifikoni aplikacionin

Vizitoni http://localhost:5000 në shfletuesin tuaj, dhe duhet të shihni "Hello, Docker!".

7. Ndaloni dhe fshini kontejnerin

Përdorni komandën e mëposhtme për të ndaluar kontejnerin:

docker stop 

`` mund të shihet me komandën docker ps.

Përdorni komandën e mëposhtme për të fshirë kontejnerin:

docker rm 

Hyrje në Docker Compose

Nëse aplikacioni juaj përbëhet nga disa shërbime, mund të përdorni Docker Compose për t'i menaxhuar ato.

1. Krijoni skedarin docker-compose.yml

Krijoni një skedar të quajtur docker-compose.yml dhe shtoni përmbajtjen e mëposhtme:

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

Shpjegim i docker-compose.yml:* version: "3.9": Specifikon versionin e skedarit Docker Compose.

  • services: Përcakton shërbimet e aplikacionit.
  • web: Përcakton një shërbim të quajtur "web".
  • image: my-python-app: Specifikon imazhin që do të përdorë shërbimi.
  • ports: Përcakton lidhjet e porteve.

2. Nisja e Aplikacionit

Në drejtorinë që përmban skedarin docker-compose.yml, ekzekuto komandën e mëposhtme për të nisur aplikacionin:

docker-compose up -d
  • docker-compose up: Komanda për të nisur aplikacionin.
  • -d: Ekzekuton kontejnerët në modalitet të shkëputur (në sfond).

3. Ndalimi i Aplikacionit

Përdor komandën e mëposhtme për të ndaluar aplikacionin:

docker-compose down

Praktikat Më të Mira të Sigurisë Docker

Siç mund të shihet nga diskutimi, siguria e imazheve Docker është një çështje e rëndësishme. Këtu janë disa praktika më të mira të sigurisë Docker:

  • Përdor imazhe zyrtare: Përdor sa më shumë imazhe zyrtare të ofruara, pasi ato zakonisht skanohen dhe mirëmbahen për siguri.
  • Skano imazhet për cenueshmëri: Përdor mjete si Trivy për të skanuar imazhet për cenueshmëri të njohura dhe përditëso imazhet menjëherë.
  • Përdor parimin e privilegjit minimal: Shmang ekzekutimin e kontejnerëve si përdorues root.
  • Kufizo burimet e kontejnerëve: Përdor cgroups për të kufizuar përdorimin e CPU-së dhe memories nga kontejnerët.
  • Përditëso imazhet rregullisht: Mbaj imazhet të përditësuara për të rregulluar cenueshmëritë e sigurisë.
  • Përdor mjete për skanimin e sigurisë: Mjete si Snyk, Clair etj., mund të integrohen në procesin tënd CI/CD për të skanuar automatikisht imazhet për cenueshmëri.

PërfundimKy artikull ofron një udhëzues të shpejtë për fillestarët në Docker, duke mbuluar konceptet thelbësore, hapat e instalimit dhe një shembull të thjeshtë të kontenierizimit të një aplikacioni Python. Duke mësuar këto njohuri bazë, ju mund të filloni të përdorni Docker për të ndërtuar, testuar dhe vendosur aplikacionet tuaja. Mbani mend, siguria është thelbësore, duhet t'i kushtoni gjithmonë vëmendje sigurisë së imazheve Docker dhe të merrni masa të duhura për të mbrojtur aplikacionet tuaja. Edhe pse Kubernetes është i fuqishëm në orkestrimin e kontenierëve në shkallë të gjerë, Docker mbetet një zgjidhje e thjeshtë dhe efektive në shumë skenarë. Duke zotëruar Docker, ju do të jeni në gjendje të përballeni më mirë me sfidat e zhvillimit dhe vendosjes së softuerëve modernë.

Published in Technology

You Might Also Like