Şə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:
-
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 -
Şə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:v2artıq yeni şəkilə işarə edir. -
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:v2Bu konteyner yeni şəkil versiyasını istifadə edəcək.
-
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.