Docker-ге кіріспе: Қолданбаларыңызды контейнерлеуді жылдам бастау

2/18/2026
5 min read
# Docker-ге кіріспе: Қолданбаларыңызды контейнерлеуді жылдам бастау

Docker қазіргі заманғы бағдарламалық жасақтаманы әзірлеу мен орналастырудың ажырамас бөлігіне айналды. Kubernetes төңірегіндегі талқылаулар кеңінен таралғанымен, Docker әлі де көптеген компаниялар үшін қолданбаларды құру, сынау және орналастыру үшін таңдаулы құрал болып табылады. Бұл мақала сізді Docker-мен жылдам таныстырады, оның негізгі тұжырымдарын түсіндіреді және қолданбаларыңызды контейнерлеуді бастауға көмектесетін практикалық мысал ұсынады.

## Docker негізгі тұжырымдамалары

Тәжірибеге кіріспес бұрын, Docker-дің кейбір негізгі тұжырымдарын түсіну маңызды:

*   **Бейне (Image):** Бейне - бұл тек оқуға арналған шаблон, ол қолданбаны іске қосу үшін қажет нәрсенің бәрін қамтиды: код, орындалу ортасы, жүйелік құралдар, кітапханалар және тәуелділіктер. Виртуалды машина бейнесіне ұқсас, бірақ жеңілірек.

*   **Контейнер (Container):** Контейнер - бұл бейнеден жасалған жұмыс істеп тұрған дана. Бұл бейненің жұмыс уақытындағы данасы, ол қолданбаны және оның барлық тәуелділіктерін қамтиды. Контейнерлер бір-бірінен оқшауланған, олардың өз файлдық жүйесі, процестері және желілік кеңістігі бар.

*   **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!" қайтарады.

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-тың әкесі ашық айтты: 1 айдан кейін Plan Mode қолданылмайды, бағдарламалық инженер атағы жоғаладыTechnology

Ескерту! Claude Code-тың әкесі ашық айтты: 1 айдан кейін Plan Mode қолданылмайды, бағдарламалық инженер атағы жоғалады

Ескерту! Claude Code-тың әкесі ашық айтты: 1 айдан кейін Plan Mode қолданылмайды, бағдарламалық инженер атағы жоғалады ...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026 жылғы Топ 10 AI агенттері: Негізгі артықшылықтарды талдауTechnology

2026 жылғы Топ 10 AI агенттері: Негізгі артықшылықтарды талдау

2026 жылғы Топ 10 AI агенттері: Негізгі артықшылықтарды талдау Кіріспе Жасанды интеллекттің жылдам дамуы арқасында AI аг...

2026 жыл: Топ 10 AI құралдары ұсынысы: Жасанды интеллектінің шынайы әлеуетін ашуTechnology

2026 жыл: Топ 10 AI құралдары ұсынысы: Жасанды интеллектінің шынайы әлеуетін ашу

2026 жыл: Топ 10 AI құралдары ұсынысы: Жасанды интеллектінің шынайы әлеуетін ашу Технологияның жылдам дамып жатқан бүгін...

2026 жылғы AWS құралдары мен ресурстарының 10 үздігіTechnology

2026 жылғы AWS құралдары мен ресурстарының 10 үздігі

2026 жылғы AWS құралдары мен ресурстарының 10 үздігі Жылдам дамып келе жатқан бұлтты есептеу саласында Amazon Web Servic...