Flocker комплекти Docker контейнери и данни за лесен транспорт

Тъй като контейнерите на Docker стават все по-широко използвани, техните недостатъци също стават по-ясни. Как например мигрирате работещ контейнер заедно с неговите данни на друг сървър и запазвате данните му в процеса? Обикновено не.

ClusterHQ, стартъп, основан отчасти от основните сътрудници на мрежовия двигател на Python Twisted, има предложено решение. Flocker, мениджър на обема на данни с отворен код (Apache) за приложенията на Dockerized, който сега е в своята версия 1.0, позволява обемите от данни (известни още като набори от данни) да бъдат свързани с контейнери и премествани с тях.

Поддържайки всичко заедно

Flocker обединява контейнери и набори от данни, като гарантира, че те се движат заедно, когато Dockerized приложение се прехвърля между хостове на даден клъстер. Едното ограничение е, че съхранението на данните трябва да бъде осигурено от споделен заден край на хранилище, достъпен за всички възли в клъстера.

В момента се поддържат само няколко типа задни части на хранилището, предимно ориентирани към облака: Amazon EBS, Rackspace Cloud Block Storage и EMC ScaleIO. Поддържа се и базирано на ZFS съхранение, макар и само чрез заден край, който в момента е експериментален.

"Всичко, за което бихте използвали VMware vMotion", каза Марк Дейвис, главен изпълнителен директор на ClusterHQ, "са същите причини, поради които може да искате да преместите контейнер. И ако в контейнера има данни, имате нужда от нещо като Flocker."

Въпреки това, една прехвалена функция на vMotion - мигриране на изпълняващи се приложения на живо - все още не е налице във Flocker. Неговите миграции са „минимален престой“, а не нулев престой, което означава, че има малък прозорец на недостъпност по време на процеса на миграция. Люк Марсдън, технически директор и съосновател на ClusterHQ, заяви в телефонно обаждане, че престоят "зависи от скоростта, с която задният край може да има обем, отделен от една VM и прикрепен към друга VM. Но ние сме много заинтересовани от минимизиране на този престой. "

ClusterHQ вече има експериментални функции в работата, за да ускори процеса чрез обемни снимки, въпреки че задният край трябва да поддържа моментни снимки, за да бъде жизнеспособен.

Липсващи парчета на Докер

Docker традиционно работи с данни чрез обеми от данни, но те идват със свои собствени ограничения. Ръчното копиране на данни между контейнери все още не е просто (твърди се, че е фиксирано в Docker 1.7), но най-голямата стена остава лошото състояние на управление на данните, споделяни от Docker контейнери, работещи на различни места.

Едно текущо предложение за Docker включва предоставянето на нов тип хранилище за контейнери, където трети страни могат да предоставят драйвери на устройства за собствените си видове съхранение. Ако такава функция бъде внедрена, за ClusterHQ не би било трудно да преработи поддръжката си чрез архитектурата на приставките на задния край на набора от данни - и да държи крачка напред от каквато и функционалност да се превърне в собственото ядро ​​на Docker с течение на времето.