LXC и Docker, оба совершенно разные. Но мы говорим, что оба держатели контейнеров.
Есть два типа контейнеров:
1. Контейнеры приложений. Их главный девиз - предоставлять зависимости приложений. Это контейнеры Docker (облегченные контейнеры). Они запускаются на вашем хосте как процесс и выполняют все, что вы хотите. Они буквально не нуждаются в образе ОС / загрузке. Они приходят и уходят за считанные секунды. Вы не можете запускать несколько процессов / служб внутри контейнера докеров. При желании вы можете запускать несколько процессов внутри контейнера докеров, но это трудоемко. Здесь будут использоваться общие ресурсы (ЦП, диск, память, оперативная память).
2. Системные контейнеры: Это толстые контейнеры, значит, они тяжелые, им нужны образы ОС для запуска, в то же время они не такие тяжелые, как виртуальные машины, они очень похожи на виртуальные машины, но немного отличаются по архитектуре.
Здесь, скажем, Ubuntu в качестве хост-машины, если у вас установлен и настроен LXC на вашем хосте ubuntu, вы можете запустить контейнер Centos, Ubuntu (с версией Differnet), RHEL, Fedora и любой вариант Linux поверх. хоста Ubuntu. Вы также можете запускать несколько процессов внутри контейнера LXC. Здесь также будет делаться обмен ресурсами.
Итак, если у вас есть огромное приложение, работающее в одном контейнере LXC, оно требует больше ресурсов, одновременно если у вас есть другое приложение, работающее внутри другого контейнера LXC, которое требует меньше ресурсов. Контейнер с меньшими требованиями будет совместно использовать ресурсы с контейнером с большей потребностью в ресурсах.
Отвечая на ваш вопрос:
Итак, если я создам образ Docker с базой данных (например, PostgreSQL), не будут ли удалены все данные, когда я остановлю контейнер и перезапущу его?
Вы не будете создавать образ докера базы данных с некоторыми данными (это не рекомендуется). Вы запускаете / создаете контейнер из образа и присоединяете / монтируете к нему данные.
Итак, когда вы останавливаете / перезапускаете контейнер, данные никогда не будут потеряны, если вы прикрепите эти данные к тому, поскольку этот том находится где-то, кроме контейнера докеров (может быть сервер NFS или сам хост).
Означает ли это, что на одном хосте может работать несколько версий Linux, если хост поддерживает LXC? Что еще к этому нужно?
Да, ты можешь это сделать. На нашем производстве используются контейнеры LXC.
person
RajNikhil Marpu
schedule
23.07.2019