Тёмный

Python + Flask + Docker + Nginx + PostgreSQL + Git + Yandex Cloud. Разворачиваю веб приложение. 

Azzrael Code
Подписаться 12 тыс.
Просмотров 18 тыс.
50% 1

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 37   
@AzzraelCode
@AzzraelCode 3 месяца назад
Спасибо Автору azzrael.ru/spasibo
@sleepyeconomist509
@sleepyeconomist509 2 года назад
У тебя как не зайдешь, всё время лучший контент. Уже который раз твои видео помогают. Спасибо, что занимаешься этим👍
@ДмитрийКотов-ш5п
Спасибо! Все получилось запустить, видео очень помогло!
@DruniOrlov
@DruniOrlov Год назад
Чувак, ты лучший, действительно полезный контент пилишь! Очень классно, спасибо за то, что ты делаешь)
@truestuff3828
@truestuff3828 5 месяцев назад
Посмотрев это видео я стал бекенд разработчиком за 40 минут😁
@СергейАндреевич-ц2л
Спасибо! Очень помогло в начинаниях! Все понятно, вопросов не остается.
@unity_12
@unity_12 2 года назад
Снимай больше! Это полезно)
@AzzraelCode
@AzzraelCode 2 года назад
Спасибо
@АртемТимофеев-я1ы
@АртемТимофеев-я1ы 2 года назад
контент пушка!! продолжай
@nexxy4887
@nexxy4887 12 дней назад
спасибо за видео, подскажите пожалуйста откуда файл pg_db и как настраивать ему конфиг?
@AzzraelCode
@AzzraelCode 9 дней назад
В моем примере pg_db это просто папка на хосте, кот пробрасывается в контейнер. В постгрес хранит свои данные. Настраивать её никак не надо, надо лишь чтобы она было создана до запуска контейнера.
@fsgsfdgbsdfgdfs
@fsgsfdgbsdfgdfs 2 года назад
Здравствуйте! Благодарю за видео, оно очень помогло, так кая я недвано познакомился с докером. Делаю подобное flask приложение с gunicorn и nginx. Но база данных расположена на внешнем сервере, подключаюсь к ней через библиотеку psycopg2 по host, port, user, password прямо в python файле. Повторил все части без указания pgadmin и db в services в docker-compose файле и приложение локально заработало и соединилось с базой данных. Правильно ли понимаю, что в моем случае не нужен контейнер для бд и в таком виде можно загружать на сервер? Или нужно прописать host, port, user, password в docker-compose и из него передавать в python файл для подклчения?
@AzzraelCode
@AzzraelCode 2 года назад
Если прописать в compose то вы сможете проще поддерживать версионность и создавать различные окружения (dev/prod/test). Но в целом можно делать по всякому ;)
@fsgsfdgbsdfgdfs
@fsgsfdgbsdfgdfs 2 года назад
@@AzzraelCode спасибо! А как все-таки будет правильнее подключаться к существующей бд на другом сервере - через переменные среды в docker compose или через создание отдельного контейнера?
@ily8484ily
@ily8484ily 2 года назад
Здравствуйте! Отличное видео, но для меня, как новичка сложновато) Написал вам в вк группу, пожалуйста прочтите, нужна помощь новичку в it )))))
@AzzraelCode
@AzzraelCode 2 года назад
Видел вопрос, отвечу здесь. Я плохой учитель, поэтому что-то объяснять не возьмусь. Мои видосы это попытка делиться опытом и личный блог с заметками, а не обучающие курсы, как раз потому что я плохой учитель. В сети полно материалов в тч и по докеру и на любой уровень. Если ютюба мало а доки сложно, то вот бесплатный курс stepik.org/course/74010/promo вроде хорошие отзывы.
@AleksandrArtroom
@AleksandrArtroom Год назад
Есть вопрос, почему бы нативно на виртуальном сервере не поставить Nginx, Python, Flask и Postgre? Ну вот хотя бы единственный аргумент в пользу Докера, кроме как чтобы было?
@AzzraelCode
@AzzraelCode Год назад
Этих аргументов их много и они легко гуглятся ;) Если один аргумент - упаковка прилки в контейнер избавляет вас от головняков с заказчиками в стиле на моей лохматой вдске с дебиан 8 и питоном 2.7 ваш код не работает. Вы упаковали, пушнули в репо или передали tar, а дальше заказчик распаковывает этот контейнер везде где угодно, где работает докер и есть интернет. А главное что упакованное приложение работает одинаково, почти независимо от окружения на хосте.
@AleksandrArtroom
@AleksandrArtroom Год назад
@@AzzraelCode Не проще ли лохматую ВДСку обновить или надо обязательно на тупость тупостью отвечать и гонять всякие контейнеры по Гитхабам?
@AzzraelCode
@AzzraelCode Год назад
Окей, вы не хотите облегчить жизнь себе и челу что вам платит. Давайте другой расклад. У вас стартап, вы пилите сервис на свои бабки и наняли 3 погромистов на удаленке. У одного макбук и он вообще не сечет в эти ваши нжинксы, у другого делл на убунте, третий под виндой сидит. Деплоим на свежую вдску с Debian 12. Докинем в проект ещё редис чтобы челу под виндой было веселее ;) Вам надо чтобы у всех все работало и была актуальная версия приложухи, чо будете делать?
@alexsurnov9544
@alexsurnov9544 2 года назад
А можно показать пожалуйста как для https сделать на инстансе?
@AzzraelCode
@AzzraelCode 2 года назад
В этой задаче есть три ощутимо разных варианта в зависимости от того какие будут сертификаты: - уже купленные (типа PositiveSSL) и кот просто нужно пробросить в контейнер, - Lets's Encrypt, кот. нужно генерить и обновлять в контейнере, - самоподписанные для локальной разработки, В массе своей малые и средние сайты в продакшене конечно используют LE и про создание сертов в докере с помощью certbot планы есть (там на самом деле все просто и описано напр здесь eff-certbot.readthedocs.io/en/stable/install.html#running-with-docker ). Но если вам не нужен LE, то такой видос вам врядли пригодится.
@alexsurnov9544
@alexsurnov9544 2 года назад
@@AzzraelCode а самоподписные нельзя для продакшена использовать? Просто необходимо для бота в телеграмме, а телеграм через вебхук использует только https, так же у бота есть админ-панель поэтому статика в проекта присутствует. Покажите видео с LE и с самоподписными если можно, будет интересно.
@AzzraelCode
@AzzraelCode 2 года назад
Для вебхука вроде как можно stackoverflow.com/questions/42713926/what-is-easy-way-to-create-and-use-a-self-signed-certification-for-a-telegram-we ( но сам я не проверял, ботов для тг не делал, только с мт прото через madeline работал ). Заявку принял ;) записал... Но в целом, если для самоподпис, там в Dockerfile для nginx одну команду для openssl добавить, да в nginx.conf прописать две строчки.
@alexsurnov9544
@alexsurnov9544 2 года назад
@@AzzraelCode спасибо. Буду ждать видео на канале. Еще очень интересно было бы посмотреть как строить взаимодействие flask и vue js деплой на сервер для разворачивание в производство, все это в docker и как в этом случае настроить nginx
@AzzraelCode
@AzzraelCode 2 года назад
Фронтендер из меня совсем плохой. В реакте ещё что-то могу, но такое стыдно показывать )) А основные проекты до сих пор отлично живут с jQuery, поэтому в сторону фронта не чешусь и ждать этого от меня пока не стоит ;)
@ondrui
@ondrui 2 года назад
Добрый день, а можете поподробнее объяснить эту фразу: "База и приложение пробрасываются на хост! На деве - это норм, на проде - нужно спрятать внутрь!" Я новичок в докере и не совсем понял что это значит. Спрятать внутрь чего и как?
@AzzraelCode
@AzzraelCode 2 года назад
В примере база лежит в папке доступной к редактированию на хосте, а должно лежать в контейнере, можно в отдельных томах, но не прямо как у меня файликами файловой системы хоста. Так делать фу. В примере к приложению на Flask можно получить доступ по 5000 порту, мимо nginx, в проде это вообще не допустимо.
@ondrui
@ondrui 2 года назад
@@AzzraelCode а если база будет в контейнере, то при его остановке или удалении она пропадет что ли?
@AzzraelCode
@AzzraelCode 2 года назад
При остановке она будет не доступна, при удалении будет уничтожена. Но можно хранить базу в томах, отдельно и это более правильно.
@ondrui
@ondrui 2 года назад
@@AzzraelCode я правильно понимаю, что пробрасывать это значит копировать папки приложения и базы при клонировании репозитория с гитхаба? т.е. правильнее имиджи брать сразу?!
@AzzraelCode
@AzzraelCode 2 года назад
Нет. Это когда в контейнере ничего нет, а устанавливается связь с объектом во внешней файловой системе хоста. На самом деле где-то на ЮТ был подробный курс по докеру с самого начала, лучше начать с чего-то такого. Мой видос он понимания в базе не даст ;)
@ivanl7786
@ivanl7786 Год назад
Ничего не понятно. Схемы не хватает, чтобы понять что, где, как, куда. Но я приложения и не разрабатывал. Но автор изначально сказал, что это не обучающее видео, а личные заметки. Так что вопросов нет)
Далее
Оптимизация Django. 1 - Django + Docker
50:08
Основы Docker | Docker И Python
1:09:54
Просмотров 55 тыс.