Sobes.tech
Middle

Şəkildə dəyişikliklər edildikdən sonra nə baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Şəkildə dəyişikliklər etdikdən sonra, şəkil özü yeni və ayrı bir versiyaya çevrilir. Bu şəkil əsasında yeni konteyner başladıqda, konteyner tətbiq olunan dəyişiklikləri əks etdirən dəyişdirilmiş versiyanı istifadə edəcək. Köhnə konteynerlər, əvvəlki versiyalara əsaslanan şəkil ilə işlədilərkən, vəziyyətlərini saxlayacaq və yeni şəkil əsasında dayandırılıb yenidən başladıqdan sonra işləməyə davam edəcək. Başqa sözlə, şəkildə edilən dəyişikliklər artıq işləyən konteynerlərə təsir etmir.

Docker nümunəsi ilə həyat dövrünü nəzərdən keçirək:

  1. Dockerfile qurulması: Siz Dockerfile-da dəyişikliklər edirsiniz.

    # Yenilənmiş Dockerfile
    FROM ubuntu:latest
    RUN apt-get update && apt-get install -y nginx
    COPY index.html /var/www/html/
    EXPOSE 80
    
  2. Şəkil qurulması: Siz qurma əmri icra edirsiniz.

    # Yeni versiya şəkli yaradılması
    docker build -t my-webserver:v2 .
    

    Docker əvvəlki qatların üzərinə dəyişikliklərlə yeni qat yaradır. my-webserver:v2 artıq yeni şəkilə işarə edir.

  3. Yeni konteyner işə salınması: Siz yeni konteyneri işə salırsınız.

    # Yeni versiya şəkli əsasında konteynerin işə salınması
    docker run -d -p 8080:80 --name webserver_v2 my-webserver:v2
    

    Bu konteyner yeni şəkil versiyasını istifadə edəcək.

  4. Mövcud konteynerlər: Məsələn, my-webserver:v1 əsasında işə salınmış konteynerlər köhnə məlumatlar və konfiqurasiyalar ilə işləməyə davam edəcək.

Əməliyyat Nəticə Köhnə konteynerlərə təsiri
Dockerfile dəyişiklikləri Şəkil təyin edən kod dəyişir. Xeyr
Şəkil qurulması (docker build) Unikal ID ilə yeni şəkil yaradılır. Xeyr
Şəkil etiketlənməsi (docker tag) Yeni şəkil üçün alias təyin edilir. Xeyr
Yeni konteyner işə salınması Yeni konteyner yeni şəkildən istifadə edir. Xeyr
Köhnə konteynerin yenidən başlaması Köhnə konteyner köhnə şəkil ilə işləyir. Xeyr (standart)
Köhnə şəkilin silinməsi Şəkil silinir, lakin ona əsaslanan konteynerlər saxlanılır. Xeyr (konteynerlər saxlanılır)

Əgər işlək konteynerləri yeni şəkil versiyasına yeniləmək istəyirsinizsə, köhnələri dayandırıb silməli və sonra yeniləşdirilmiş şəkil ilə yenilərini başlatmalısınız. İstehsal mühitində, bu cür yeniləmələri idarə etmək üçün Kubernetes, Docker Swarm və ya Docker Compose kimi orkestratorlar istifadə olunur və onlar rolling update strategiyalarını həyata keçirirlər.