Proqramlaşdırma

Docker

Docker nədir?

Docker proqramı öz kitabxanaları ilə birlikdə paketləyir. Maşında «mənim kompüterimdə işləyirdi» fərqi azalır. Bu, tam virtual maşın deyil. Nüvəni host ilə bölüşür, ona görə daha yüngüldür. Ubuntu serverin üstündə Docker qurmaq adi yoldur.

Docker nə üçün istifadə olunur?

Eyni mühiti geliştirici maşınında və serverdə saxlamaq üçündür.

  • Tətbiqi image kimi yığmaq
  • Verilənlər bazasını lokal qaldırmaq
  • CI-də eyni testi işlətmək
  • Bir serverdə bir neçə servisi ayırmaq

Docker ilə nə etmək olar?

Dockerfile addımları yazır: baza image, paket, əmr. docker run həmin image-dən konteyner açır. Şəbəkə portu və disk həcmi ayrıca bağlanır. Docker təhlükəsizlik divarını və HTTPS sertifikatını əvəz etmir.

Docker öyrənmək çətindirmi?

hello-world tez açılır. Çətinlik image ölçüsü, gizli məlumatı image-ə yazmaq və şəbəkədir. Şifrə və açar image içinə qoyulmamalıdır. Onlar işə düşəndə mühitdən verilməlidir.

Üstünlükləri və məhdudiyyətləri

Üstünlük: mühit təkrarlanır, serverdə «əlavə paket» dağınıqlığı azalır. Məhdudiyyət: öyrənmə var, disk dolur, səhv yazılmış image köhnə boşluğu daşıyır. Konteyner daxilində root geniş hüquq verə bilər.

Əsas anlayışlar

Image oxunur şablondur. Konteyner ondan yaranan prosesdir. Registry, məsələn Docker Hub, image saxlayır.

  • Dockerfile təlimat siyahısıdır
  • docker build image yaradır
  • port -p 8080:80 ilə xəritələnir
  • volume məlumatı konteyner silinəndə saxlaya bilər

Qısa nümunə

Bu əmr sınaq image-ni endirir, işlədir və bitəndə silir.

docker run --rm hello-world

Tez-tez verilən suallar

  • Docker virtual maşındır? Xeyr. Nüvəni bölüşən konteynerdir.
  • Image və konteyner eynidir? Xeyr. Image şablondur, konteyner işlək nüsxədir.
  • Docker HTTPS verir? Xeyr. Şifrələmə sertifikat və adətən Nginx tərəfindədir.