А используете ли вы Docker
Понимаю что нашему брату эта тема далека, но все же мало ли какие случаи вас подстерегали и подталкивали использовать эту тулзу.
Я долго был сильным поклонником vagrant + virtual box для создания изолированного дев окружения для своих экспериментов. Но честно надоело костылить со ssh тунелями и прочими недостатками поддержки уделенного подключения в разных инструментах. А как выяснилось основная необходимость заключалась в запуске различных баз данных и прочих фоновых инструментов дабы не засерать основную машины. Но каждая машина вызывала целую попоболь при развертывании, хотя я и набил руку и можно сказать все это дело автоматизировал наполовину.
И долго сопротивлялось мое тело новому. А вот и зря. Наконец решил попробовать Docker благо они наконец-то выпустили вменяемые клиенты под MacOS и вроде под Win. Попробовал и радости моей не было предела. Короче все задача сводится к тому чтобы найти нужный контейнер в библиотеке и поднять его используя хитрую команду пробросив порты на основную машину из контейнера. ВСЕ!
docker ps -a вот вам список поднятых контейнеров
docker start/stop <name> запуск остановка контейнера
Это то что я использую постоянно, но там просто космические возможности по управлению контейнерами.
Контейнеры стартуют и останавливаются в течении пары секунд, в отличии от полноценной виртуальной машины. Не надо ничего устанавливать - контейнеры самодостаточные единицы.
И это я еще коснулся вершины айсберга - сами контейнеры можно самому создавать и конфигурировать. Короче пределу нет совершенства. Но даже минимальные возможности помогают решить мне многие проблемы с созданием изолированных окружений для разработки.
А используете ли вы [url=https://www.docker.com/]Docker[/url] Понимаю что нашему брату эта тема далека, но все же мало ли какие случаи вас подстерегали и подталкивали использовать эту тулзу. Я долго был сильным поклонником vagrant + virtual box для создания изолированного дев окружения для своих экспериментов. Но честно надоело костылить со ssh тунелями и прочими недостатками поддержки уделенного подключения в разных инструментах. А как выяснилось основная необходимость заключалась в запуске различных баз данных и прочих фоновых инструментов дабы не засерать основную машины. Но каждая машина вызывала целую попоболь при развертывании, хотя я и набил руку и можно сказать все это дело автоматизировал наполовину. И долго сопротивлялось мое тело новому. А вот и зря. Наконец решил попробовать Docker благо они наконец-то выпустили вменяемые клиенты под MacOS и вроде под Win. Попробовал и радости моей не было предела. Короче все задача сводится к тому чтобы найти нужный контейнер в библиотеке и поднять его используя хитрую команду пробросив порты на основную машину из контейнера. ВСЕ! docker ps -a вот вам список поднятых контейнеров docker start/stop <name> запуск остановка контейнера Это то что я использую постоянно, но там просто космические возможности по управлению контейнерами. Контейнеры стартуют и останавливаются в течении пары секунд, в отличии от полноценной виртуальной машины. Не надо ничего устанавливать - контейнеры самодостаточные единицы. И это я еще коснулся вершины айсберга - сами контейнеры можно самому создавать и конфигурировать. Короче пределу нет совершенства. Но даже минимальные возможности помогают решить мне многие проблемы с созданием изолированных окружений для разработки.
Отличное видео с основами по теме Docker
https://www.youtube.com/watch?v=X2jlKUHbepY
Отличное видео с основами по теме Docker https://www.youtube.com/watch?v=X2jlKUHbepY [img]https://cdn.pbrd.co/images/GV6WiAS.png[/img]
[img]https://cdn.pbrd.co/images/GV6YyG9.png[/img]
[img]https://cdn.pbrd.co/images/GV6Z3HQ.png[/img]
Самый толковый доклад про Docker который я видел.
Илья Беда: "Мастер-класс по Docker для python разработчиков"
Самый толковый доклад про Docker который я видел. [url=https://www.youtube.com/watch?v=5LuHkG3fiFY]Илья Беда: "Мастер-класс по Docker для python разработчиков"[/url]
Еще в копилку знаний
How to build solid CI-CD pipeline
Python
Docker
Ansible
GitLab
gitlab-ci-multi-runner
Еще в копилку знаний [url=https://www.youtube.com/watch?v=YG8Zky0PL1I]How to build solid CI-CD pipeline[/url] Python Docker Ansible GitLab gitlab-ci-multi-runner
Кому хочется попробовать, но влом ставить что-то локально
Кому хочется попробовать, но влом ставить что-то локально https://labs.play-with-docker.com/
Попробовал Docker на практике.
Впечатления исключительно положительные.
Теперь всю СЛОЖНУЮ инфраструктуру приложения можно описать в одном файле и запустить в течении пары секунд.
Раньше я использовал для этого Vagrant. Мне тоже нравилось, но с нуля поднять машину со всем необходимым занимало несколько часов. Плюс, если что-то пойдет не так (в крайних случаях), приходилось сносить машину и начинать ее построение с начала. Можно конечно было автоматизировать это дело с помощью например Ansible, но все равно уровень познаний в настройки linux должен быть выше среднего.
Контейнеры Docker же выглядят просто как приложения на локальной машине (хоть и я являются полноценными виртуальными машинами со своим линуксом на борту). Причет не важно что ты хочешь запустить - контейнеры запускаются и настраиваются одинаково и просто. Нужен python3 чтобы запустить свое приложение - запустил контейнер, пробросил туда папку с приложением, запустил. Нужна база данных - запустил контейнер, нужен mail dev сервер - запустил контейнер.
Контейнеры готовые есть на любой вкус - https://hub.docker.com/explore/
На любой случай! Вот к примеру мой любимый https://mailcatcher.me/
Я раньше его использовал когда работал с Ruby. Он работает на базе руби. Но сейчас заморачиваться с руби нет никакого желание. Да и не надо. Одна строчка в настройках - получи работающий mailcatcher. Я потом посмотрел - есть и альтернатива которую я тоже использовал под NodeJS - http://danfarrelly.nyc/MailDev/ только в оригинале надо иметь NodeJS и запускать отдельно из консоли. Но с Docker все становится проще - пару строк и проект со всем окружением поднимается одной командой.
Но вишенкой на торте стала поддержка Docker в Intelij IDEA !!! (PyCharm в моем случае). Немного поколдовав понял насколько это просто и круто работать с Docker в этой IDE.
ТЕПЕРЬ Я СЧАСТЛИВ! По ходу я на пути к своему идеальному инструменту разработки
Попробовал Docker на практике. Впечатления исключительно положительные. Теперь всю СЛОЖНУЮ инфраструктуру приложения можно описать в одном файле и запустить в течении пары секунд. Раньше я использовал для этого Vagrant. Мне тоже нравилось, но с нуля поднять машину со всем необходимым занимало несколько часов. Плюс, если что-то пойдет не так (в крайних случаях), приходилось сносить машину и начинать ее построение с начала. Можно конечно было автоматизировать это дело с помощью например Ansible, но все равно уровень познаний в настройки linux должен быть выше среднего. Контейнеры Docker же выглядят просто как приложения на локальной машине (хоть и я являются полноценными виртуальными машинами со своим линуксом на борту). Причет не важно что ты хочешь запустить - контейнеры запускаются и настраиваются одинаково и просто. Нужен python3 чтобы запустить свое приложение - запустил контейнер, пробросил туда папку с приложением, запустил. Нужна база данных - запустил контейнер, нужен mail dev сервер - запустил контейнер. Контейнеры готовые есть на любой вкус - https://hub.docker.com/explore/ На любой случай! Вот к примеру мой любимый https://mailcatcher.me/ Я раньше его использовал когда работал с Ruby. Он работает на базе руби. Но сейчас заморачиваться с руби нет никакого желание. Да и не надо. Одна строчка в настройках - получи работающий mailcatcher. Я потом посмотрел - есть и альтернатива которую я тоже использовал под NodeJS - http://danfarrelly.nyc/MailDev/ только в оригинале надо иметь NodeJS и запускать отдельно из консоли. Но с Docker все становится проще - пару строк и проект со всем окружением поднимается одной командой. Но вишенкой на торте стала поддержка Docker в Intelij IDEA !!! (PyCharm в моем случае). Немного поколдовав понял насколько это просто и круто работать с Docker в этой IDE. ТЕПЕРЬ Я СЧАСТЛИВ! По ходу я на пути к своему идеальному инструменту разработки :D
Еще в копилку знаний
Докеризация веб приложения на Python, Антон Егоров, Ostrovok.ru
Еще в копилку знаний [url=https://www.youtube.com/watch?v=if6Ly9ik9pE]Докеризация веб приложения на Python, Антон Егоров, Ostrovok.ru[/url]