Показать статистику
0 голосов
от (2.5тыс. баллов)

Разъясните, в чем же отличие или сходство между ними, как оценить производительность и безопасность каждого?

3.5тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Я  постараюсь рассказать о некоторых аспектах FreeBSD jails и Linux Docker, о том, в чем они схожи, а также чем отличаются друг от друга.

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

Docker - это инструмент, который используется в основном для запуска готовых образов программ, которые можно получить из различных общедоступных или частных репозиториев. Большинство людей используют это именно таким образом. Хотя, некоторые предпочитают создавать свои собственные и загружают их в эти хранилища.

 Jails FreeBSD больше похожи на LXC в Linux - это метод создания контейнера с нуля. Вы создаете его, затем устанавливаете в него программное обеспечение. Его можно рассматривать как FreeBSD внутри FreeBSD. Нет простого способа экспортировать этот контейнер как единое программное обеспечение, как это делается  в Docker. Поэтому почти все люди, которые используют FreeBSD, напротив, всегда создают свой собственный фрагмент FreeBSD внутри контейнера с нуля, то есть из установленной базовой системы, устанавливая программное обеспечение из системы портов FreeBSD или из исходного кода. Таким образом, FreeBSD-Jails менее дружественны и имеют более высокую начальную стоимость использования.

Так же, как контейнеры LXC , Jails  FreeBSD также являются постоянными. Все изменения остаются нетронутыми между ними. Как и говорилось, это всего лишь часть ОС внутри одной и той же ОС, хотя версии ПО для пользователя могут отличаться до тех пор, пока ABI не будет поддерживаться в ядре FreeBSD. Это означает, что Вы не можете зафиксировать изменения - они фиксируются после их создания.

Очевидно, что контейнеры FreeBSD не могут иметь свой похожий уровень оркестровки, как это делает Docker- нет публикации портов, нет томов, нет ссылок или мета-соединений между различными Jails. Только интерфейсы, которые предоставляет сетевая ОС - это сетевые сокеты, сокеты Unix, общие точки монтирования.

Нет однозначного ответа на вопрос что лучше? Jails более зрелые, прочные и могут также использовать собственные функции ZFS. Докер имеет более широкое сообщество. Докер больше подходит для Linux, где ядро ABI стабильно, но в дистрибутивах и их доступных библиотеках есть фрагментация. С Докером проще работать. У Докера есть некоторые проблемы со стабильностью, но с ним легко, потому что с помощью Docker вы можете запустить изображение, которое вы нашли в Docker Hub. Таким образом, запуск намного быстрее, чем запуск экземпляра MySQL. У Docker есть лучшее управление ресурсами. Многие предпочитают Jails, поскольку используют FreeBSD на своих серверах.

...