@procode
Разработчик

Где взять подробный пошаговый туториал по решению реальной жизненной задачи с помощью Docker?

Пытаюсь освоить Docker - уперся в непонимание того, зачем он вообще нужен.

Я понимаю, что если столько людей им пользуется - значит зачем-то оно таки нужно. Но хочется на реальном примере из жизни.

Какой-то распространенный кейс, который проще решить с Docker, чем без Docker.

И чтобы даже ребенку было понятно :)

Поясню контекст: я веду веб-разработку преимущественно в Windows 7. В особо "тяжелых" случаях, когда Windows совсем уж никак - делаю что-то удаленно, на VPS под Ubuntu Server, ну, или локально в VirtualBox.

Насколько я понял из обучалок, Docker может мне в этом помочь, но я пока не понял - каким именно образом.

Если есть ссылка на хороший пошаговый тутор могущий помочь - буду признателен.
  • Вопрос задан
  • 1147 просмотров
Пригласить эксперта
Ответы на вопрос 7
@developer007
Есть проект postgres + php + redis
генерирую docker compose файлик с помощью этого сервиса https://phpdocker.io/generator (мне самому лень думать).
далее пушу в репозиторий проекта докер файлик. (точнее уже папка будет).

Даёшь коллеге доступ в репозиторий. Он клонирует и запускает команду docker-compose up
и всё. У него запускаются нужные контейнеры. Приложение начинает сразу работать.
Коллега не будет кудахтать что у него сейчас mysql на компе, а postgres не хочет ставить т.к муторно.
или redis у него другой версии и тд.

Также вы можете на любом рабочем месте запустить в изи свой проект.
Вообщем крутая штука при разработке.

Насчет использования на проде - хз
Народ кучу серверов эксплуатирует без докеров и норм.
Ответ написан
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
Реальный пример - днями попросили сделать изменения в проекте, стек не типичный для меня, нгинкс/постгрес/пых7.2. При том что делать его на домашней машине пришлось, вин10. Так то у меня настроен апач/мускуль/пых 7.1.

Поставил контейнеры на нгинкс/постгрес/пых7.2., задавил локальный апач чтобы не мешал на 80 порту и все, могу работать с совершенно другим стеком, и все это "внутри" на линухе, со всеми возможными апт-гет инсталлами и тд. Закончил - выключил - забыл. Или перенастроил контейнеры. В системе ничего не поменялось вообще.
Ответ написан
@skrimafonolog
Я понимаю, что если столько людей им пользуется - значит зачем-то оно таки нужно. Но хочется на реальном примере из жизни.

Мода.
Многие не понимают и используют.

Пытаюсь освоить Docker - уперся в непонимание того, зачем он вообще нужен.

Для изоляции среды - чтобы можно было один раз настроить с определенным окружением и затем запускать на любой ОС, чтобы другие программы не мешали.

Есть такая проблема - софт № 1 требуется библиотеки А версии выше 1.3.4
При этом софт № 2 требует библиотеки А версии ниже 1.2.9.
Докер позволяет подобные вещи разрулить.

В крупных проектах подобные вещи возникают сплошь и рядом.

Если у вас нет такой проблемы, то вам Докер не нужен.
Лишнее ПО создает лишние проблемы (скажем очистка неиспользуемых слоев в Докер отдельная проблема).

Однако есть еще хорошести у Докера - легкость получения идентичной среди на совсем другой операционной системе, к примеру, для разработки. Тогда это нужно сразу в docker-compose втыкать. Внимание docker-compose это только для разработки, эта система не рекомендуется для production.
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
Все просто.
Для того, чтобы запустить несколько экземпляров приложения с одинаковыми настройками (тот же путь, те же либы) - контейнер выходит гораздо дешевле и быстрее по ресусам, чем отдельные виртуальные машины.

В том случае, когда дело касется не 1-10, а 100-1000 скорость и стоимость ЗАМЕТНА для бизнеса. Поэтому это крайне востребовано.
Но до появления докера, даже после настройки, пользоваться рядовым пользователям было крайне неудобно.
А когда появился докер+докерхаб, а затем еще и кубернетес-опенщифт, это хорошо взлетело в ентерпрайз, и активно востребовано.

Злоупотреблений тоже полным полно. Но основной момент - дешевизна с точки зрения ресурсов.
Ответ написан
Комментировать
Sanes
@Sanes
Какой-то распространенный кейс, который проще решить с Docker, чем без Docker.

Запустить окружение, чтобы как-то работало. Обычно используют программисты, которые ничего не понимают в администрировании.
Ответ написан
@q2digger
никого не трогаю, починяю примус
Реальная жизненная задача нужна? Ну вот например.
Моим разработчикам нужна Jira для разных тестов. Джира им может быть нужна разных версий. Нужна она им может быть на час или например на неделю. Иногда им надо две джиры, одна с mysql, а вторая с postgres. Или еще как-то так.
С докером я выкатываю им джиру нужной версии с нужной базой, за 2-3 минуты. Вся обертка стандартизирована, все настройки одинаковые.
Да, контейнеры конечно я предварительно подготовил, но по факту, там все уже пару лет собирается на GitLab скриптами, автоматически и я почти не трачу на это время.
Ответ написан
SayMAN83
@SayMAN83
Работаю в IT
Как я понял, докер это облегченный вариант virtualbox. Суть та же, но занимает меньше места на диске. Очень удобно для разработки. Для использования на проде, кмк, так себе идея.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы