
Так ли страшен докер, как его малюют? В частности интересует, если какой-нибудь ownCloud запускать контейнером на дроплете с гигом памяти, не треснет ли дроплет?
Дата рождения: 01.11.1983
Тотальная неудачница и убийца жёстких дисков. Самая большая поклонница Ариэль. Член ордена Вселенского тормоза имени Осаки-сан. Любительница каваййных переднеприводных машинок. Суккуб на полставки. Когти прилагаются.
Так ли страшен докер, как его малюют? В частности интересует, если какой-нибудь ownCloud запускать контейнером на дроплете с гигом памяти, не треснет ли дроплет?
докер - не страшно, т.к. это по сути chroot и пара других костылей в ядре. Оверхеда там появляется, когда у тебя этих контейнеров штук пятьдесят будет.
С другой стороны у контейнеров есть полезная фичи - можно подрезать контейнер, чтоб жрал только 512Мб памяти и 50% одного конкретного CPU.
Но для твоих задач подозреваю проще и лучше будет lxc-containers.
Докер - это не только контейнеры, но и монструозное нечто по управлению слоями, ФС, логгингом, образами, сетью итд, так что с нуля лучше в lxc въезжать. А не въехавши в какие-то куски философии можно очень неприятно наебаться.
https://eax.me/lxc/ - продолжу пропаганду lxc для домашнего использования. в отличие от докера это такой пусть и неудобный местами конструктор, из которого можно взять только то, что нужно и в каждом отдельном кусочке проще разобраться, чем сразу весь докер понять.
По идее, там самые затраты - при сборке образа из слоёв. А сам запуск - особо не затратен.
У меня два варианта: ставить ownCloud с нуля, либо качнуть контейнер. Больше мне докер особо не нужен. Но есть опасения по поводу производительности. Помнится, когда на дроплете было 512 метров памяти, у меня мускул регулярно отваливался.
я очень не люблю качать чужие контейнеры, читаешь докерфайлы и в 3/4 случаев волосы на голове шевелиться начинают и рука к канделябру тянется - то бинарник не пойми откуда качается, то какие-то заклинания делаются с каталогом, которого нет в репозитории. А мускуль отваливался скорее всего не из-за контейнера, а из-за кривых конфигов или чудовищных запросов, что ownCloud генерит (был я в этих исходниках и там не очень много хорошего).
я больше за lxc и поставить внутрь контейнера руками, чтоб залимитировать потребление. Но если докерфайл нормальный, можешь рискнуть и скачать. Только это ставь так, что ownCloud - один контейнер, а БД для него - другой, недоступный снаружи. У docker стрёмно, когда внутри него слишком сложное дерево процессов бежит.
и обязательно все каталоги с данными и логами, в которые docker-контейнер пишет должны быть смонтированы с хоста, иначе тебе потом будет не пересоздать docker-контейнер при обновлении и разгребать /var/lib/docker заебёсси.
ещё обязательно нормально настрой logdriver при запуске. почему-то это в среднем не делают, а надо бы. Например, на syslog, чтобы всё, что в stdout процесса в контейнере пишется попадало на хост и ротировалось штатными средствами, а не оседало в кишках /var/lib/docker
Тогда у меня был не контейнер, а предустановка от DO. После апгрейда памяти, отваливания прекратились.
это больше всего похоже на ошибку конфигурации со стороны авторов образа. там или phpшечка выжирала всю память от запросов, или mysql. или там отвалы были не как падения серверного процесса БД, а как таймауты? тебе ещё могло не повезти с соседями - у меня так один раз было, пришлось пересоздавать дроплет, иначе сеть и дисковый IO лагали шоппц.
Не помню точно, глубоко не копала, ибо было не сильно критично. Обычно ownCloud писал в лог «MySQL gone away» или типа того. И я скриптом перезапускала Апач и мускул. Что писало на «service mysql stop» – не помню.
Так пишет почти вообще всё, что с либой от MySQL собрано, ЕМНИП. В том числе PHP, на котором OwnCloud бегает.
С соседями вроде бы проблем не было. Или они переехали сразу же как только я проапгрейдила память.
расширение вроде как раз через пересоздание делалось?
Нет. Иначе бы обновился айпишник.
Ну вот, да.
Ну в контейнере может быть мускул не настроенный под спаптанские условия.