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

Комментарии • 15

  • @pylounge
    @pylounge  9 месяцев назад +3

    Замечания и советы по работе с докер принимаются в комментариях)

    • @johnnymagnet8703
      @johnnymagnet8703 8 месяцев назад

      Очень интересно объяснения в чём отличия разных образов (bullseye, alpine, slim и пр.)

  • @TimurGain
    @TimurGain 4 месяца назад

    Макс, спасибо! Внятно и емко

  • @_garik__
    @_garik__ 9 месяцев назад +3

    Прикол. Только сегодня осознал самостоятельно, что можно сначала requirements скопировать, установить все а потом копировать файлы проекта и тут видео...

  • @eugene_mountainland
    @eugene_mountainland 4 месяца назад

    ох, отличное видео)

  • @user-km3cg8mp4o
    @user-km3cg8mp4o 8 месяцев назад +2

    Полезно. Спасибо🫖

  • @_garik__
    @_garik__ 9 месяцев назад +3

    А так, все по делу, эх, это видео б годик назад...

    • @dmitryzagorevskiy507
      @dmitryzagorevskiy507 9 месяцев назад +1

      а что тогда было видео ? )может и докер бы лет цать назад ? )

  • @dmitryzagorevskiy507
    @dmitryzagorevskiy507 9 месяцев назад +2

    Полезно. Спасибо

  • @user-po2wh2pe5z
    @user-po2wh2pe5z 9 месяцев назад +2

    Видио хорошое спасибо.

  • @alexturner6417
    @alexturner6417 8 месяцев назад

    Полезно, интересно, спасибо! +++ в карму

  • @alexanderbrown7758
    @alexanderbrown7758 9 месяцев назад +7

    Зачем в контейнере использовать venv?

    • @user-py3cg2do9b
      @user-py3cg2do9b 9 месяцев назад +1

      А мож ты в контейнере захочешь сделать 2 приложения с разными зависимостями. Хоть это и не лучшая практика, но это же возможно)

  • @user-ts9zj1rt4q
    @user-ts9zj1rt4q 9 месяцев назад +4

    на 8:22 в докерфайле опечатка. на 1й строке вместо bookword -> bookworm