Сүрөдө өзгөртүүлөр киргизилгандан кийин эмне болот?
sobes.tech AI
AIден жооп
Постфактум өзгөртүүлөрдү киргизгенден кийин, сүрөт жаңы, өзүнчө версия болуп саналат. Бул сүрөткө негизделген контейнер кийинки жолу ишке киргизилгенде, ал өзгөртүүлөрдү чагылдырган өзгөртүлгөн версияны колдонуп, иштейт. Эски контейнерлер, мурдагы версиялардын негизинде ишке киргизилген, өз абалын сактап калат жана эски версия менен иштей берет, жаңы сүрөткө негизделгенге чейин. Башкача айтканда, сүрөттөгү өзгөртүүлөр, иштеп жаткан контейнерлерге таасир этпейт.
Docker мисалында жашоо циклин карап көрөлү:
-
Build Dockerfile: Сиз
Dockerfileда өзгөртүүлөр киргизесиз:# Жаңы Dockerfile FROM ubuntu:latest RUN apt-get update && apt-get install -y nginx COPY index.html /var/www/html/ EXPOSE 80 -
Build сүрөт: Сиз түзөсүз:
# Жаңы версияны түзүү docker build -t my-webserver:v2 .Docker жаңы катмарды түзөт, ал мурдагы катмарлардын үстүнө өзгөртүүлөрдү кошот.
my-webserver:v2эми жаңы сүрөткө шилтеме кылат. -
Жаңы контейнерди ишке киргизүү: Сиз ишке киргизесиз:
# Жаңы сүрөткө негизделген контейнерди ишке киргизүү docker run -d -p 8080:80 --name webserver_v2 my-webserver:v2Бул контейнер жаңы сүрөттү колдонуп иштейт.
-
Эски контейнерлер: Мисалы,
my-webserver:v1негизинде ишке киргизилген контейнерлер, эски маалыматтар жана конфигурациялар менен иштөөдө калат.
| Иш-аракеттер | Натыйжа | Эски контейнерлерге таасир |
|---|---|---|
| Dockerfile өзгөртүү | Сүрөттүн аныктама коду өзгөрөт. | Жок |
| Сүрөттү түзүү (docker build) | Жаңы сүрөт түзүлөт, уникалдуу ID менен. | Жок |
| Сүрөттү белгилөө (docker tag) | Жаңы сүрөткө алиас берилет. | Жок |
| Жаңы контейнерди ишке киргизүү | Жаңы контейнер жаңы сүрөттү колдонуп иштейт. | Жок |
| Эски контейнерди кайра ишке киргизүү | Эски контейнер эски сүрөт менен иштейт. | Жок (өзүнчө) |
| Эски сүрөттү өчүрүү | Сүрөт өчүрүлөт, бирок контейнерлер сакталат. | Жок (контейнерлер сакталат) |
Эгер иштеп жаткан контейнерлерди жаңы сүрөткө жаңыртуу керек болсо, эски контейнерлерди токтотуп, өчүрүп, андан соң жаңысын ишке киргизүү керек. Өндүрүш шарттарында мындай жаңыртууларды башкаруу үчүн Kubernetes, Docker Swarm сыяктуу оркестраторлор жана Docker Compose сыяктуу куралдар колдонулат, алар роллинг жаңыртуулар стратегияларын ишке ашырат.