LINUX.ORG.RU

Стоит ли юзать Докер для базы данных?

 


5

5

Сабж.

Сегодня перевел статейку на Швабру, и там у автора прямо истерика случилась на тему - ни за что не храните в докере данные.

Аргументация про то, что де когда докер оказывается под нагрузкой, в нем ломается всё что подключено, а если не повезет - уносит вместе с корневой файловой системой (на линуксе), и паники ядра постоянно, так что данные не держатся.

Насколько это всё реально? У вас есть какая-нибудь нагруженная БД в докере на проде, как полёт?

★★★★☆

Ответ на: комментарий от Deleted

не очевидно понять что ты хочешь такого (но теперь понятно)

потому что это было написано в proposal https://github.com/moby/moby/pull/10411 на гитхабе, который ты не прочитал

так что пока они не разродятся апи - это все костыли

то что поиск - это костыли, это проблемы поиска

А мы говорим о поддержке разных registry на равных правах. Чего Docker разумеется не хочет, потому что пока что Docker Hub - это его единственный способ монетизации.

alpha ★★★★★
()

типично, сама база (файлы) хранится снаружи относительно контейнера, в котором крутится движок.

движок можно крутить в докере сколько душе угодно.

waker ★★★★★
()
Ответ на: комментарий от alpha

который ты не прочитал

ты на него ссылку дала несколько поздно 8) и с архитектурной точки зрения там предлагают сделать страшные костыли, так что ребята из докера вполне возможно такое не принимают еще и потому что стали соображать немного в архитектуре (верится слабо да)

Deleted
()

ни за что не храните в докере данные.

Я думал это очевидная вещь, а про это оказывается статьи пишут.

ox55ff ★★★★★
()
Ответ на: комментарий от waker

Выше по теме писали про просадку по IOPS-ам. Я такое тоже видел «в живую». Я бы лично не спешил с запихиванием БД в докер.

anonymous
()
Ответ на: комментарий от dvrts

эм.. вся контейнеризация в принципе и «нижележащие технологии» это только cgroups и namespaces и больше ничего. Так что у unshare, lxc, и docker абсолютно одинаковый принцип работы. И все остальное это обвязка в юзерспейсе облегчающая (или утяжеляющая (в зависимости от того, как написано)) жизнь.

qnikst ★★★★★
()
Ответ на: комментарий от anonymous

Выше по теме писали про просадку по IOPS-ам. Я такое тоже видел «в живую». Я бы лично не спешил с запихиванием БД в докер.

а я где-то предлагал обратное?

waker ★★★★★
()
Ответ на: комментарий от waker

движок можно крутить в докере сколько душе угодно.

MySQL на моих задачах просаживался на порядок.
Это с логами и БД в вольюмах.

Yustas ★★★★
()
Ответ на: комментарий от waker

типично, сама база (файлы) хранится снаружи относительно контейнера, в котором крутится движок.
движок можно крутить в докере сколько душе угодно.

Я маленько нуб в этих ваших докерах, извините, знаком только с LXC. Можно узнать, зачем вообще СУБД пихать в контейнер? Докер это ведь про «одно приложение - один контейнер». Ну я понимаю, веб приложение удобно переносить от разработчика на сервак и множить его по другим сервакам, если мощности одного не хватило. Но какой профит от такого завёртывания СУБД?

ls-h ★★★★★
()
Ответ на: комментарий от waker

У меня там работал битрикс.
Контейнер с LXC и виртуалка выдавали во встроенной синтетике десятикратное кол-во попугаев, да.
Там оно упирается в особенность докеровой слоистой ФС и не зависит от бекендов в принципе.
Хоть на рамдиск его засунь - быстрее INSERT/UPDATE не будет.

Yustas ★★★★
()
Ответ на: комментарий от qnikst

ЕМНИП, докер с какой-то там версии отказался от lxc и теперь делает всё сам.

spijet ★★★
()
Ответ на: комментарий от ls-h

Я маленько нуб в этих ваших докерах, извините, знаком только с LXC. Можно узнать, зачем вообще СУБД пихать в контейнер?

для деплоя всей инфраструктуры проекта одним кликом, в т.ч. в облако.

waker ★★★★★
()
Ответ на: комментарий от Yustas

Контейнер с LXC и виртуалка выдавали во встроенной синтетике десятикратное кол-во попугаев, да.

все равно нихрена не понял что у тебя там в 10 раз быстрее чего.

LXC и виртуалка в 10 раз быстрее докера? на доступе к файлу?

Хоть на рамдиск его засунь - быстрее INSERT/UPDATE не будет.

докер просто затормаживает любые файловые операции в 10 раз (даже если файл на ramdisk), и быстрее их никак не сделать? ты это пишешь?

(я не спорю, но пытаюсь распарсить что ты пытаешься сказать)

waker ★★★★★
()
Ответ на: комментарий от waker

все равно нихрена не понял что у тебя там в 10 раз быстрее чего.

MySQL в KVM и LXC в десять раз быстрее при INSERT/UPDATE чем в докере.

на доступе к файлу?

На записе, точнее дозаписи файла.

докер просто затормаживает любые файловые операции в 10 раз (даже если файл на ramdisk)

Там специфика именно для СУБД, особенно ярко демонстрируемая MySQL.

и быстрее их никак не сделать?

Да

Yustas ★★★★
()
Ответ на: комментарий от Yustas

Там специфика именно для СУБД, особенно ярко демонстрируемая MySQL.

именно для СУБД вообще, или именно для mysql? например, для mongodb то же самое?

waker ★★★★★
()
Ответ на: комментарий от waker

именно для СУБД вообще, или именно для mysql?

У меня СУБД это, в первую очередь, PG и MySQL :)

например, для mongodb то же самое?

Как оно данные хранит и апдейтит?
Я не знаю. Если там что-то типа Redis'a - соответственно, нет таких проблем.

Yustas ★★★★
()
Ответ на: комментарий от waker

Не, тут вопрос: бинарник с данными на диске, куда дописываются данные транзакции?
всё плавает в памяти(Redis)
и/или сложная система кэшей без обеспечения надёжности.
У докера проблема с первым пунктом.
Я не могу уж второй день найти подробное объяснение этого факта, а руками трогал эту связку с год назад.

Yustas ★★★★
()
Ответ на: комментарий от alpha

Сообщество пользователей докера на Debian в моем несчастном лице, хардкодит внутренний registry во все configuration management конфиги.

Суровая женщина 🐥

Dron ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.