Ниже приведены мои собственные соображения, не претендующие на то, чтобы быть исчерпывающим обзором Docker.
Переход на Docker даст вам следующие преимущества:
- Простота развертывания - вам не нужно предоставлять руководства по установке приложения, зависимостям и связывать их вместе. Только как установить Docker (кстати для Windows это больно :)
- Изоляция - ваши сервисы получают изолированную сеть и не беспокоят хоста
- Простое обновление - просто нажмите новый образ, и все
- Декомпозиция - с помощью
docker-compose
и других инструментов вы сможете разделить ваше приложение на сервисы и поддерживать их отдельно
- Масштабирование - при правильном дизайне такие инструменты, как
k8s
, позволят вам легко масштабировать приложение, добавляя реплики своих услуг
С другой стороны, в Windows Docker создают дополнительные издержки, в отличие от Linux, где он реализован поверх ядра Linux, вам также нужен Win10 Professional, чтобы пользоваться Docker, а не панель инструментов Docker.
Кроме того, Windows не так хороша в автоматизированном управлении пакетами, и установка программного обеспечения для Windows во многих случаях не может быть выполнена так просто, как apt-get install whatever
, поэтому вы теряете еще одно преимущество Docker - простую подготовку системы через Dockerfile.
Если вы планируете остаться только под Windows, основываясь на моем собственном опыте, я бы, вероятно, не рекомендовал бы перейти на Docker, потому что лично мне было трудно использовать без VirtualBox / Ubuntu.