Водич за почеток со Docker: Брзо започнете со контејнеризација на вашата апликација

2/18/2026
7 min read
# Водич за почеток со Docker: Брзо започнете со контејнеризација на вашата апликација

Docker стана незаменлив дел од модерното развивање и распоредување на софтвер. И покрај огромните дискусии околу Kubernetes, Docker сè уште е алатка од прв избор за многу компании за градење, тестирање и распоредување на апликации. Оваа статија ќе ве воведе во Docker, ќе ги објасни неговите основни концепти и ќе обезбеди практичен пример за да ви помогне да започнете со контејнеризација на вашата апликација.

## Основни концепти на Docker

Пред да започнете со пракса, од суштинско значење е да разберете некои од основните концепти на Docker:

*   **Слика (Image):** Сликата е шаблон само за читање, кој содржи сè што е потребно за да се изврши апликација: код, runtime околина, системски алатки, библиотеки и зависности. Слично на виртуелна машина, но е полесна.

*   **Контејнер (Container):** Контејнерот е инстанца на слика што се извршува. Тоа е runtime инстанца на сликата, која ги содржи апликацијата и сите нејзини зависности. Контејнерите се изолирани еден од друг, имаат сопствен датотечен систем, процеси и мрежен простор.

*   **Docker Hub:** Docker Hub е јавен складиште на слики, од каде што можете да преземате претходно изградени слики, или да ги прикачувате вашите сопствени слики. Слично на GitHub, но специјализиран за Docker слики.

*   **Dockerfile:** Dockerfile е текстуална датотека, која ги содржи сите инструкции за градење на Docker слика. Со пишување на Dockerfile, можете да го автоматизирате процесот на креирање на слика.

*   **Docker Compose:** Docker Compose е алатка за дефинирање и извршување на Docker апликации со повеќе контејнери. Ви овозможува да ги конфигурирате услугите на апликацијата со помош на YAML датотека, а потоа да ги стартувате или стопирате сите услуги со една команда.

## Инсталација на Docker

Прво, треба да го инсталирате Docker. Docker нуди инсталациони пакети за различни оперативни системи. Посетете ја [официјалната веб-страница на Docker](https://www.docker.com/get-started/) и следете ги соодветните упатства за инсталација.

Откако ќе заврши инсталацијата, можете да проверите дали Docker е правилно инсталиран со извршување на командата `docker --version`.

## Контејнеризација на едноставна Python апликација

Ќе креираме едноставна Python апликација и ќе ја контејнеризираме со помош на Docker.

### 1. Креирање на Python апликација

Креирајте датотека со име `app.py`, која го содржи следниот код:

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

Оваа едноставна Flask апликација ќе врати "Hello, Docker!" на root патеката /.

2. Креирање на requirements.txt датотека

Апликацијата зависи од Flask библиотеката, треба да креираме requirements.txt датотека за да ги декларираме овие зависности.

Flask

3. Креирање на Dockerfile

Креирајте датотека со име Dockerfile и додадете ја следната содржина:

# Користете официјална Python слика како основна слика
FROM python:3.9-slim-buster

# Поставете работна директориум
WORKDIR /app

# Копирајте ја requirements.txt датотеката во работниот директориум
COPY requirements.txt .

# Инсталирајте ги зависностите
RUN pip install --no-cache-dir -r requirements.txt
```# Копирање на кодот на апликацијата во работниот директориум
COPY app.py .

# Изложување на портата 5000
EXPOSE 5000

# Дефинирање на командата за стартување
CMD ["python", "app.py"]

Објаснување на Dockerfile:

  • FROM python:3.9-slim-buster: Ја специфицира основната слика како поедноставена верзија на Python 3.9.
  • WORKDIR /app: Го поставува работниот директориум во контејнерот на /app.
  • COPY requirements.txt .: Ја копира датотеката requirements.txt од тековниот директориум во директориумот /app во контејнерот.
  • RUN pip install --no-cache-dir -r requirements.txt: Ја извршува командата pip во контејнерот за да ги инсталира зависностите специфицирани во датотеката requirements.txt. Параметарот --no-cache-dir може да ја намали големината на сликата.
  • COPY app.py .: Ја копира датотеката app.py од тековниот директориум во директориумот /app во контејнерот.
  • EXPOSE 5000: Декларира дека контејнерот ќе слуша на портата 5000.
  • CMD ["python", "app.py"]: Ја дефинира командата што се извршува кога контејнерот ќе стартува.

4. Креирање на Docker слика

Во директориумот што го содржи Dockerfile, извршете ја следнава команда за да креирате Docker слика:

docker build -t my-python-app .
  • docker build: Команда за креирање на слика.
  • -t my-python-app: Доделува име на сликата (my-python-app).
  • .: Го специфицира директориумот каде што се наоѓа Dockerfile (тековниот директориум).

Процесот на креирање може да потрае некое време, во зависност од брзината на мрежата и големината на зависностите.

5. Стартување на Docker контејнер

Користете ја следнава команда за да стартувате Docker контејнер:

docker run -d -p 5000:5000 my-python-app
  • docker run: Команда за стартување на контејнер.
  • -d: Го стартува контејнерот во одвоен режим (работи во позадина).
  • -p 5000:5000: Ја мапира портата 5000 на хост машината на портата 5000 на контејнерот.
  • my-python-app: Го специфицира името на сликата што ќе се користи.

6. Верификација на апликацијата

Во прелистувачот, пристапете до http://localhost:5000 и треба да видите "Hello, Docker!"

7. Стопирање и бришење на контејнерот

Користете ја следнава команда за да го стопирате контејнерот:

docker stop 

`` Може да се види преку командата docker ps.

Користете ја следнава команда за да го избришете контејнерот:

docker rm 

Вовед во Docker Compose

Ако вашата апликација се состои од повеќе услуги, можете да користите Docker Compose за да ги управувате.

1. Креирање на docker-compose.yml датотека

Креирајте датотека со име docker-compose.yml и додадете ја следнава содржина:

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

Објаснување на docker-compose.yml:* version: "3.9": Ја специфицира верзијата на Docker Compose датотеката.

  • services: Дефинира услуги за апликацијата.
  • web: Дефинира услуга со име "web".
  • image: my-python-app: Ја специфицира сликата што ја користи услугата.
  • ports: Дефинира мапирање на портите.

2. Стартување на апликацијата

Во директориумот што ја содржи docker-compose.yml датотеката, извршете ја следнава команда за да ја стартувате апликацијата:

docker-compose up -d
  • docker-compose up: Команда за стартување на апликацијата.
  • -d: Го извршува контејнерот во одвоен режим.

3. Стопирање на апликацијата

Користете ја следнава команда за да ја стопирате апликацијата:

docker-compose down

Најдобри практики за безбедност на Docker

Како што може да се види од дискусијата, безбедноста на Docker сликите е важен проблем. Еве неколку најдобри практики за безбедност на Docker:

  • Користете официјални слики: Користете ги официјално обезбедените слики колку што е можно повеќе, бидејќи тие обично се скенирани и одржувани за безбедност.
  • Скенирајте слики за ранливости: Користете алатки како Trivy за да ги скенирате сликите за познати ранливости и навремено ажурирајте ги сликите.
  • Користете принцип на минимални привилегии: Избегнувајте извршување на контејнери како root корисник.
  • Ограничете ги ресурсите на контејнерот: Користете cgroups за да ја ограничите употребата на CPU и меморија на контејнерот.
  • Редовно ажурирајте ги сликите: Одржувајте ги сликите ажурирани за да ги поправите безбедносните ранливости.
  • Користете алатки за безбедносно скенирање: Алатките како Snyk, Clair итн. може да се интегрираат во вашиот CI/CD процес за автоматско скенирање на ранливости во сликите.

ЗаклучокОваа статија нуди брз водич за почеток со Docker, кој ги покрива основните концепти, чекорите за инсталација и едноставен пример за контејнеризација на Python апликација. Со учење на овие основи, можете да започнете да ги користите Docker за да ги градите, тестирате и распоредувате вашите апликации. Запомнете, безбедноста е од клучно значење, секогаш обрнувајте внимание на безбедноста на Docker сликите и преземете соодветни мерки за да ги заштитите вашите апликации. Иако Kubernetes е моќен во однос на оркестрација на контејнери во голем обем, Docker сè уште е едноставно и ефикасно решение во многу сценарија. Со совладување на Docker, ќе бидете подобро подготвени да се справите со предизвиците на модерното развивање и распоредување на софтвер.

Published in Technology

You Might Also Like

Како да користите технологии на облачното компјутерство: Комплетен водич за изградба на вашата прва облачна инфраструктураTechnology

Како да користите технологии на облачното компјутерство: Комплетен водич за изградба на вашата прва облачна инфраструктура

Како да користите технологии на облачното компјутерство: Комплетен водич за изградба на вашата прва облачна инфраструкту...

Предупредување! Основачот на Claude Code изјави: По еден месец, Plan Mode нема да се користи, титулата софтверски инженер ќе исчезнеTechnology

Предупредување! Основачот на Claude Code изјави: По еден месец, Plan Mode нема да се користи, титулата софтверски инженер ќе исчезне

Предупредување! Основачот на Claude Code изјави: По еден месец, Plan Mode нема да се користи, титулата софтверски инжене...

2026 година Топ 10 ресурси за длабоко учењеTechnology

2026 година Топ 10 ресурси за длабоко учење

2026 година Топ 10 ресурси за длабоко учење Со брзиот развој на длабокото учење во различни области, се појавуваат се по...

2026 година Топ 10 AI агенти: Анализа на основните карактеристикиTechnology

2026 година Топ 10 AI агенти: Анализа на основните карактеристики

2026 година Топ 10 AI агенти: Анализа на основните карактеристики Вовед Со брзиот развој на вештачката интелигенција, AI...

2026 година Топ 10 AI алатки препораки: Ослободување на вистинскиот потенцијал на вештачката интелигенцијаTechnology

2026 година Топ 10 AI алатки препораки: Ослободување на вистинскиот потенцијал на вештачката интелигенција

2026 година Топ 10 AI алатки препораки: Ослободување на вистинскиот потенцијал на вештачката интелигенција Во денешно вр...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 Во брзо развивачкиот облачен компјутинг сектор, Amazon Web Services (AWS) секогаш бил лидер, нуд...