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.