DOCKER






Docker nedir ? 

Bune gelmezden evvel yaxsi olar ki, virtualization ve containerization arasinda ferqlere baxaq.
Dockerin diger bize verdiyi ustunluklerden biri tanis bir ssenari vardi hansiki biz bir programi yazirdiq ancaq onu diger bir adamin kompyuterine install edende islemeye bilirdi.
Sebebler muxtelif ola bilerdi RAM,jdk version,
3rd party hansisa lib versiya ferqi ve.s nese catismazliqlar ola bilerse bizim app islemirdi. Bunlardan xilas edir bizi docker. Hem de siz adi bir kompyutere tutaqki yeni
app elave etmelisiz ancaq bu  tutaqki evvelki app-in nodejs bir veriysasini istfde edirse diger app diger versiya istifade etmelidirse bunun ucun belke elave konfigurasyalarla ede bielrsiz
ancaq sabah 3,4 ve.s app elave olunduqda ferqli konfiqurasyalarda bu cetin olurdu hem de dcoker bundan bizi xilas edir.
     Virtualization metodunu da biz eslinde evveller istifade etmisik.
Virtualizationda biz ne edirdik hypervisor-lardan biri vasitesile kobud desek kompyuterimizin uzerine sanki ikinci bir ozunun ram,emeliyyat sistemi ve.s olan kompyuter yazirdiq.
Meselem VMWare , VirtualBox ve.s istifade edirdik.
Ancaq biliriki o hem bizim ram-dan cox yeyirdi, dona dona isleyirdi , qalxmasi cox gec vaxta cekirdi ve.s yeni ele de rahat deyildi isledenler biler.
     Containerization mentiqindide ise dockerde ise mesele ferqlidir burada docker engine istifade edilir ve burada esas ana kompyuterimizin emeliyyat sistemi uzerine qurulur.
Container kodu, fayllarimizi , konfiqurasiyalari  ve.s butun dependencyleri bir paket halinda isole edib container halinda tutmaqdir eslinde.
Burada start olma daha suretlidir daha az yer tutur meqabayt tutur , vm-deki kimi gb data yox.
Bir nece container rahat isleye bilir.
Mikroservis arxitekturasinin papulyarlasmasi ile birge hazirda daha da docker, docker compose populyarlasmisdir.
Javada neceki write once run anywhere idi docker ucun de package once deploy anywhere deye bilerik.


Bes docker image, docker container, docker file bunlar nedir ?


Eslinde biz bir docker container yaradrken asagidaki stepleri kecirik:
1) docker file - burada commandlarimizi tuturuq, ssenarimiz burada yazilidir
2) docker image - docker file-mizin build olunmus halidir
3) docker container - docker image-imizin run olunmus calisan halidir


 Docker file example:


 Docker file parametrleri :
 FROM - OS -muzu secirik Hub-dan , mutleq en az 1 eded olmalidir ve en ustde yer almalidir.
 Docker hub-dan tag name-e gore from edib asagi setirlerde ona elaveler ede bilersiz davam kimi
 COPY - bir fayli harasa kopyalamaq ucun 
 RUN - hansisa verilen commandi run etmek ucun
 WORKDIR - directory set edirik ondan sorna gelen run,copy,cmd ve.s hemin directoryde run olur
 CMD - container run olanda ise dusur , bir nece dene yazsaz ancaq sonuncu ise dusur yalniz cunki biri ise duse biler.
ENV - kenardan uygun enviroment faylimizdan parametrleri cekmek ucun 

 Build docker file and create image:


 Build prosessinin step by step history-sine baxmaq istesez:


 Get image list :


 Run docker container:


 Containers list :


Docker image silmek


 Her hansi container stop et :


Restart container:





Stop and remove container : ( removedan evvel mutleq stop edilmelidir )


Containerimizin run zamani loguna baxmaq :


Docker comtainerimizi publish etmek, bunun ucun evvelce docker cloud accountunuz olmalidir:


Eger hub.docker.com- a girsek orada verdiyimiz tag ile repostoryde imageimizi ttapa,  pull ede ve run ede bilerik.

Yorumlar

Bu blogdaki popüler yayınlar

INGILIS DILI BUTUN ZAMANLAR

İNGİLİS DİLİNDƏ ƏN ÇOX İSTİFADƏ OLUNAN 2600 CÜMLƏ QƏLİBLƏRİ VƏ 6000 SÖZ