Объемы данных Docker и масштабирование в распределенной системе

Тома данных Docker находятся внутри хоста или boot2docker на локальной виртуальной машине (boot2docker).

Кажется, что большие данные из mongoDB работают в одном контейнере данных, а mongoDB в другом. Будет ли это масштабироваться на Google Cloud Engine, Azure Virtuel Machines или другом. Я имею в виду, если все это работает в рамках ОДНОЙ виртуальной машины, например, boot2docker или другой в облаке. Обычно вы масштабируете виртуальные машины, создавая новые экземпляры виртуальных машин, но как это возможно с Docker?

Извините, что спрашиваю об этом на StackExchange, но на dba нет категории, но у StackExchange есть категория для Docker.

Спасибо

С уважением Кристиан


person Chris G.    schedule 05.09.2014    source источник


Ответы (2)


В производстве у вас будет большое количество (виртуальных) машин, на каждой из которых работает докер. Для масштабирования mongodb у вас должно быть несколько пар контейнеров {mongodb, mongodb-data}, где каждая пара работает на одном компьютере (требуется для совместного использования томов).

Проблемы, которые вам необходимо решить:

1) настройка mongodb таким образом, чтобы это имело смысл для целей масштабирования (шардинг, пулы реплик и т. д.)

2) разрешения брандмауэра, IP-адреса, порты и т. д., чтобы позволить док-контейнерам общаться друг с другом через хосты.

Docker не решает 1) для вас, потому что это зависит от приложения. У MongoDB будет другой способ сделать это, чем, скажем, диванная база. 2) Docker пока не решает, но я думаю, что когда-нибудь это может случиться.

person jkingyens    schedule 06.09.2014

Вы можете использовать rancher для решения 2., так как он автоматически управляет IP-адресами, используя частную сеть IpSec. Я думаю, kubernetes также решает проблему №1. 2.

person Zsolt Egri    schedule 08.11.2015