Sobes.tech
Junior

Docker менен кандай тажрыйбаңыз бар?

sobes.tech AI

AIден жооп

5 жылдан ашык активдүү Docker колдонуу ар түрдүү долбоорлордо.

Тажрыйба төмөнкүлөрдү камтыйт:

  • Dockerfile иштеп чыгуу: Аппликациялардын образдарын (веб, микросервистер, маалымат базалары жана башка) оптималдаштырылган жана көпэтаптуу Dockerfile түзүү.
  • Образдарды башкаруу: Docker Hub, жеке репозиторийлер менен иштөө (GitLab Registry, Nexus), тегдерди коюу, версиялоо, колдонулбай калган образдарды тазалоо.
  • Контейнерлер менен иштөө: Иштетүү, токтотуу, кайра иштетүү, абалын көзөмөлдөө, логдорду карап чыгуу, контейнер ичинде командаларды аткаруу (docker exec).
  • Docker Compose: Көпконтейнердүү колдонмолорду аныктоо жана ишке киргизүү, кызматтарды оркестрациялоо, тармактарды жана томдору башкаруу.
  • Docker тармактары: Төрт түрдүү тармак драйверлерин (bridge, host, overlay) түшүнүү жана жөндөө, кызматтарды изоляциялоо үчүн колдонуучу аныктаган тармактарды түзүү.
  • Docker томдору: Маалыматты сактоо, файл алмашуу үчүн аталыштуу томдорду жана bind mounts колдонуу.
  • Docker коопсуздугу: Контейнерлердин изоляциясынын негиздерин түшүнүү, rootless Docker колдонуу (эгер мүмкүн болсо), образдарды коопсуздукту текшерүү.
  • CI/CD менен интеграция: Docker образдарын түзүү жана жарыялоо CI/CD pipelines ичинде (Jenkins, GitLab CI, GitHub Actions).
  • Оркестрация (негизги билимдер): Kubernetes иштөө принциптерин жалпы түшүнүү (контейнерлерди жайгаштыруу, поддер, репликациялар, кызматтар), minikube/Kind колдонуп жөнөкөй колдонмолорду тестирлөө тажрыйбасы.

Docker Compose колдонуу мисалдары:

# docker-compose.yaml
version: '3.8'

services:
  app:
    build: .  # Учурдагы каталогдон образ түзүү
    ports:
      - "80:80" # Хосттун 80 портуна контейнердин 80 портуна өткөрүү
    environment:
      DATABASE_URL: postgres://user:password@db:5432/mydatabase # Ортамыш шарттар
    depends_on:
      - db # db кызматына көз каранды

  db:
    image: postgres:14 # Стандарттуу postgres образын колдонуу
    volumes:
      - db_data:/var/lib/postgresql/data # Тоттуктуу том
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydatabase

volumes:
  db_data: # Аты бар томду аныктоо