Olek1
@Olek1

Экскурс на русском языке: суть, настройка, и использование Docker?

У кого есть видос, или мануал, достойный внимания, по Docker. Зачем он нужен, конфигурация, применение на практике.
  • Вопрос задан
  • 1504 просмотра
Решения вопроса 2
saboteur_kiev
@saboteur_kiev Куратор тега Веб-разработка
software engineer
Докер - виртуализация приложения. Приведу пример.

Вы разрабатываете некое веб-приложение на java, и вам его нужно тестировать под java7, java8 и под tomcat 7, tomcat 8.

Вы можете купить 4 компьютера, поставить на них 4 варианта, протестировать. Затем все поставить заново для следующего теста. Неудобно, долго, дорого.

На помощь приходит виртуальная машина - вы можете купить 1 компьютер, на нем завести 4 виртуалки, каждую из них настроить, сохранить образы. После тестирования просто восстанавливаете исходное состояние из образов.
Гораздо дешевле, чем раньше. Но каждая виртуальная машина требует процессоры, память, кучу места на диске под операционку. А ведь отличается по сути всего 2 компонента.

На помощь приходит докер. Один комп, одна операционная система. 4 докер контейнера с нужной версией java и томкат. После тестирования контейнер можно удалить и развернуть заранее подготовленный.
Дешевле и быстрее, чем все вышеперечисленное. Потому что операционка одна, нет лишних расходов на CPU и память. Ужиматься дальше практически некуда.

Конечно у докера есть свои ограничения по применению, но грубо говоря, у вас внутри одной операционки, могут независимо работать несколько приложений, которые при штатной установке разворачиваются таким образом, что не могли бы работать одновременно. А вот два докер-контейнера, внутри которых эти две версии приложения изолируются и не мешают друг другу за небольшими исключениями (например tcp порт).

Виртуализация приложений через докер позволяет избежать dll-hell, изоляция дисковой системы и окружения.

P.S. Пример очень простой и надуманный, так как конкретно java и tomcat можно и без докера просто запустить несколько разных версий на разных портах, но суть вы должны уловить. Докер - виртуализация на уровне файловой системы, самая дешевая виртуализация.
Ответ написан
angrySCV
@angrySCV
machine learning, programming, startuping
все эти контейнеры, образа, нужны что отделить инфраструктуру (железо), от софта, что дает много свободы и гибкости.
Кто-то эту свободу использует для тестирования, а кто-то для эффективного использования железа, запоковал свой микросервис в контейнер, и масштабируешь его по любому железу как угодно, на одном сервере запустил 5 контейнеров, на другом который мощнее запустил 50 контейнеров, на третьем еще 20-30 контейнеров, какой-то вышел из строя, нагрузку перераспределил на оставшиеся контейнеры со своими копиями микросервисов, тутже новый сервер поставил, еще сколько там отмашстабировал своих микросервисов.
Такой подход позволяет повысить эффективность использования серверов, также задачи плавно балансировать нагрузку между серверами, когда низкая нагрузка отключил 100-200 контейнеров, что-нибудь другое там крутишь и тд, когда высокая добавил серверов, подзапустил еще контейнеров с копиями сервиса, и перенаправляешь часть запоросов туда.
Если у тебя например соц сеть, или просто дата центр, то тебе важно динамически распределять нагрузку по разным серверам, динамически убирать какие-то сервера, добавлять, перераспределяя контейнеры.
Конечные пользователи этого даже не заметят.
П. С. докер просто на хайпе, но далеко не единственный вариант реализации такой стратегии.
П. П. С.
если вы не знаете зачем он нужен, то вам он гарантированно не нужен.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gadzhikuliev
Есть такой сайт:

docker.crank.ru
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы