DOCKER BEST PRACTICE Для PYTHON Разработчика
HTML-код
- Опубликовано: 12 июн 2024
- Когда нужно упаковать python-проект в Docker, первым делом лезешь в Интернете,
что бы посмотреть примеры. Однако примеры часто бывают уже нерабочими или просто
неэффективными.
Неэффективные - это образы, которые весят много и(или) долго собираются.
Для пет-проектов это неважно, но если речь идёт о коммерческой разработке спасибо вам точно никто не скажет.
Я сам столкнулся с этой проблемой на первой работе. Из-за чего обстоятельно изучил вопрос и готов поделиться наработками с вами.
В этом видео я приведу несколько рекомендаций, которые помогут
сделать ваши docker-compose и dockerfile эффективными, удобными и более профессиональными.
Поговрим про базовые образы, кеширование, слои, мультистейдж и многое другое.
💸 Хочешь поддержать канал: qiwi.com/n/PYLOUNGE (Никнейм QIWI Кошелька - PYLOUNGE)
💰 Donation Alerts:
www.donationalerts.com/r/pylo...
📒 Материалы из видео:
✅ Материалы для изучения Docker: t.me/pylounge/866
✅ Статья про медленный alpine: pythonspeed.com/articles/alpi...
✅ Партнёрская программа ProninTeam: ref.proninteam.ru/
✅ Официальный сайт ProninTeam: proninteam.ru/
✅ Ролик Основы Docker | Docker И Python: • Основы Docker | Docker...
✅ Ролик Основы Docker Compose | Docker Compose Для Python Разработчика: • Основы Docker Compose ...
✅ Ролик Что Такое DevOps | Python Для DevOps: • Что Такое DevOps | Pyt...
🚀 Социальные сети:
✅ Telegram: t.me/pylounge
✅ Группа ВКонтакте: pylounge
✅ Канал PyLounge:
/ @pylounge
✅ Twitter: / pylounge
✅ Instagram*: / py_lounge
✅ По вопросам сотрудничества и предложений: peoplesdreamer@gmail.ru
✅ Music:Passing Time by Purrple Cat | purrplecat.com
Music promoted by www.free-stock-music.com
Creative Commons / Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
creativecommons.org/licenses/...
👨🏫 Привет! Меня зовут Макс. Я один из авторов канала PyLounge. Уже долго занимаюсь программированием, в частности программирование на языке Python. Я много чего узнал за это время, и мне есть, чем поделиться со зрителями моего канала. Здесь выходят разнообразные ролики, касающиеся IT-тематики и программирования, которые я делаю в соавторстве с Егором (лучшим голосом России). Подписывайся, будем узнавать что-то новое и работать вместе! Погнали!
🕰️ Таймкоды:
00:00 - Всутпление
01:03 - Базовые образы с точными версиями пакетов и ОС
01:41 - Файл requirements.txt/poetry.lock с привязанными версиями
02:07 - Сокращай количество слоев
03:44 - Кеширования слоёв
06:09 - root пользователь
06:25 - Оптимизированные базовые образы
06:50 - Много-этапные (multi-stage builds) сборки
09:24 - Якоря и псевдонимы для повторяющихся блоков docker compose
11:20 - dockerignore
12:12 - hadolint
12:34 - Разные docker-compose файлы
14:37 - Актуальный менеджер пакетов
14:46 - wait-for-it
16:22 - Флаги запуска
18:01 - entrypoint.sh
18:48 - Заключение
19:27 - Концовка
*Компания Meta - организация, деятельность которой запрещена на территории Российской Федерации
#pylounge #docker #dockercompose #ityoutubers #itubeteam
Замечания и советы по работе с докер принимаются в комментариях)
Очень интересно объяснения в чём отличия разных образов (bullseye, alpine, slim и пр.)
Макс, спасибо! Внятно и емко
Прикол. Только сегодня осознал самостоятельно, что можно сначала requirements скопировать, установить все а потом копировать файлы проекта и тут видео...
ох, отличное видео)
Полезно. Спасибо🫖
А так, все по делу, эх, это видео б годик назад...
а что тогда было видео ? )может и докер бы лет цать назад ? )
Полезно. Спасибо
Видио хорошое спасибо.
Полезно, интересно, спасибо! +++ в карму
Зачем в контейнере использовать venv?
А мож ты в контейнере захочешь сделать 2 приложения с разными зависимостями. Хоть это и не лучшая практика, но это же возможно)
на 8:22 в докерфайле опечатка. на 1й строке вместо bookword -> bookworm