← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 23: Rolling update сервісів

Технологія: Docker

Номер лабораторної: 23 · Рівень: middle

Тема: Docker Swarm: rolling оновлення

Повний опис / сценарій лабораторної:

Мета: відпрацювати сценарій оновлення сервісу з можливістю відкату.



Крок 1. Підготувати два теги одного образу.

Пояснення: наприклад lab23-web:v1 і lab23-web:v2 з різним текстом сторінки.



Крок 2. Створити сервіс з початковою версією v1.

Команда: docker service create --name web23 --replicas 3 -p 8083:80 lab23-web:v1

Пояснення: три репліки дозволять побачити плавне оновлення.



Крок 3. Перевірити відповідь сервісу.

Команда: curl http://localhost:8083

Пояснення: зафіксуй що зараз працює версія v1.



Крок 4. Запустити rolling оновлення до v2.

Команда: docker service update --image lab23-web:v2 --update-parallelism 1 --update-delay 10s web23

Пояснення: по одній репліці кожні 10 секунд.



Крок 5. Спостерігати за процесом оновлення.

Команда: docker service ps web23

Пояснення: побачиш змішані завдання зі старим і новим образом.



Крок 6. Періодично опитувати сервіс під час оновлення.

Команда: while true; do curl -s http://localhost:8083 | head -n1; sleep 2; done

Пояснення: зверни увагу як змінюється відповідь.



Крок 7. Зімітувати невдалу версію.

Пояснення: уяви що v2 має критичну помилку яку ти помітив у процесі.



Крок 8. Виконати відкат на попередній образ.

Команда: docker service update --image lab23-web:v1 web23

Пояснення: Swarm поверне усі репліки до стабільної версії.



Крок 9. Перевірити що сервіс знову віддає v1.

Команда: curl http://localhost:8083



Крок 10. Міні звіт.

Завдання: опиши як би ти налаштував стратегію оновлення для критичного прод сервісу.