← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися будувати мінімальний образ без зайвих пакетів і shell. Крок 1. Підготувати невеликий додаток який компілюється у статичний бінарник. Пояснення: наприклад на Go або простий скомпільований інструмент. Крок 2. Створити Dockerfile з multi stage збіркою. Пояснення: перша стадія компілює бінарник, друга використовує образ scratch або distroless. Крок 3. У build стадії встановити компілятор і залежності. Пояснення: ця стадія не потрапить у фінальний образ. Крок 4. Скопіювати скомпільований бінарник у фінальну стадію. Пояснення: базовий образ не містить shell і пакетного менеджера. Крок 5. Зібрати образ і подивитися розмір. Команда: docker build -t lab65-min .; docker images lab65-min Крок 6. Запустити контейнер і перевірити роботу програми. Команда: docker run --rm lab65-min Крок 7. Спробувати зайти всередину контейнера за звичкою. Пояснення: docker exec -it ... sh швидше за все не спрацює бо немає shell. Крок 8. Обговорити плюси і мінуси мінімальних образів. Пояснення: краща безпека і розмір проти складнішого debug. Крок 9. Визначити для яких сервісів у проєкті доцільно переходити на такий підхід. Пояснення: наприклад stateless api без складних інструментів всередині. Крок 10. Міні звіт. Завдання: опиши план міграції одного зі своїх поточних образів на мінімальний варіант.