Devoll
@Devoll
Backend-разработчик

Какая выгода от использования Docker на виртуальных машинах и в чем разница?

Добрый день!

Читаю очередную статью про Docker и понимаю, какая удобная система, но есть у меня один вопрос, который не дает покоя: есть ли смысл использовать Docker поверх виртуальной среды?

Допустим, я использую одно из SaaS-решений: DigitalOcean, Amazon AWS или другое облачное решение. Архитектура проста как три копейки: 1 инстанс - 1 задача (отсюда: сервер СУБД, сервер приложений, кеш-сервер и т.д.), каждый инстанс имеет снапшот и в случае краша, можно поднять полную копию за пару минут.

В случае с Docker получается, что у меня должны быть однотипные хосты, которые содержат одинаковый набор контейнеров (контейнер СУБД, контейнер приложения, контейнер кеша и т.д.) и которые шарятся и работают между собой. Т.е. в разрезе системы получается почти то же самое.
  • Вопрос задан
  • 3409 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rrooom
@Rrooom
Котлеты - отдельно, мухи - отдельно.
DigitalOcean - облако лишь в баннерах. Это обычный (пусть и хороший) хостер, предоставляющий vps.

Docker - это легкие виртуалки. По сути, позволяющийся делать на своих машинах аналого amazon ws - с кучей инстансов и своими приятными плюшками.

Я сам довольно посредственно в этом разбираюсь - свой сервер уже перевел на docker и dokku, плюс планируем постепенно и в компании отказаться от запуска всего на железных серверах, а все сервисы держать в докерах.
Ответ написан
vopper
@vopper
Сисадмин
Пример плохой, но отображающий задачу решающий докер
есть тимвьювер под никс, который жаден до зависомстей с библиотеками, каждый раз обновляя систему, я решаю вопрос с зависимостями(не долго, но проблемы возникают).
Чтобы проблем не возникало, я устанавливаю тимвьювер в контейнер доккера, и пользуюсь им из контейнера, обновляя систему , у меня тимвьювер продолжает дальше работать, так как нужны библиотеки остались в контейнере.
По сути docker = chroot
Но у docker есть преимущества:
1) Версионость, можно делать коммиты как в гит
2) Удобство , чтобы создать контейнер, делаем просто коммандой docker run base:нужный контейнер
3) Огромный репозиторий готовых контейнеров с предустановленными программами(но я им не доверяю)
4)возможность контроля с помощью cgroup
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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