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

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

Docker Лабораторна 73: Образи для різних архітектур

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

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

Тема: Multi arch образи і buildx (концептуально)

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

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



Крок 1. Увімкнути buildx у локальному Docker.

Команда: docker buildx ls

Пояснення: якщо builder ще не створено, потрібно його додати.



Крок 2. Створити новий builder з підтримкою кількох платформ.

Команда: docker buildx create --name multi73 --use



Крок 3. Перевірити підтримувані платформи.

Команда: docker buildx inspect --bootstrap

Пояснення: зверни увагу на наявність linux/amd64 і linux/arm64.



Крок 4. Підготувати простий Dockerfile без привʼязки до конкретної архітектури.

Пояснення: не використовуй бінарники специфічні для платформи.



Крок 5. Виконати build з параметром platform.

Команда: docker buildx build --platform linux/amd64,linux/arm64 -t user/app73:multi --push .

Пояснення: образ буде запушений у реєстр як multi arch.



Крок 6. Перевірити маніфест образу у реєстрі.

Команда: docker buildx imagetools inspect user/app73:multi



Крок 7. На хості з arm спробувати витягнути і запустити образ.

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



Крок 8. Оцінити які залежності можуть бути проблемою для multi arch.

Пояснення: деякі native бібліотеки доступні не для усіх платформ.



Крок 9. Задокументувати правила написання Dockerfile які не ламають multi arch збірку.



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

Завдання: опиши де у твоїй інфраструктурі було б корисно мати multi arch образи.