2015-03-27 6 views
38

Я новичок в мире виртуализации. Может ли кто-нибудь объяснить мне различия между OpenVZ и Docker?Разница между Docker и OpenVZ

Что может быть полезно для будущего?

Плюсы и минусы?

+0

никакое тело, которое является экспертом в openVZ и докеров. –

+0

Я бы сказал http://aucouranton.com/2014/06/13/linux-containers-parallels-lxc-openvz-docker-and-more/ - хороший ответ :) –

ответ

65

Перспективные на контейнерах сильно отличается между 2.

Короче OpenVZ видит контейнер как VPS, и Докер видит контейнер в качестве приложения/услуг.

Что это подразумевает? Для OpenVZ вы можете ожидать, что при создании контейнеров, как и для виртуальных серверов. OpenVZ имеет интерфейсы, ориентированные на создание контейнеров VPS, которые вы украшаете вручную. Поэтому они предоставляют шаблоны для пустых Linux-машин, которые вы можете запускать и закрывать, после чего вы отправляете SSH, чтобы настроить их на все, что вам нужно, например стек LAMP.

Когда вы захотите установить стек LAMP, вы сделаете это, как обычно, при настройке нового сервера. Вы получаете пустую Linux-машину с виртуальным сетевым адаптером, имеющим свой общедоступный WAN-IP с Ubuntu на нем, доступ к нему с SSH, и вы устанавливаете в нем все необходимые сервисы с помощью вашего среднего менеджера пакетов (yum или apt) и выполняете настройки, необходимые в файлах конфигурации самостоятельно.

Для Docker, вы можете ожидать, что при создании контейнеров контейнер представляет собой одно приложение, которое просто делает ОДНУ вещь. Следовательно, для этого могут потребоваться некоторые другие контейнеры. (Например, контейнер, который предоставляет базу данных) Docker очень легко определил, что внутри контейнера, не запустив его, и постоянно создавайте новые точно равные экземпляры этого контейнера. Они определяют содержимое контейнера докеров (изображение), используя очень легкие шаблоны, которые они называют Dockerfiles.

Существует огромный набор докерных фильтров, которые вы можете найти в концентраторе Docker, посмотрите сами (например, как в конфетном магазине со свободной конфеткой: D): docker hub. Изображения, созданные этими док-фильтрами, можно вытащить с помощью инструмента CLI докера, используя команду pull. В docker theres также легкий доступ к вещам, таким как переадресация портов, виртуальные каталоги (чтобы вы могли легко присоединяться к файлам на главной машине) и тому подобное, которое может использовать любой исполняемый файл.

Если вы хотите стек ЛАМПЫ в докер, все вы делаете «Докер запустить -d -p 80:80 тутум/лампа»

Это тянет изображение тутум/лампа, и работает daemonised (-d) он с портом 80 из контейнера, перенаправленного в порт 80 хоста, выставляя внутренний веб-сервис снаружи. Как вы можете видеть, у него нет собственного IP-адреса, в отличие от машины OpenVZ. И это точно так же, как сервер Apache, работающий на вашей корневой машине. Преимущество по сравнению с его установкой заключается в том, что докер делает установку намного проще и неограниченно тиражируемой. Кроме того, он не загромождает вашу хост-машину большим количеством файлов и поставляет границу безопасности вокруг вашего приложения.

Theres множество функций в большинстве изображений докеров, которые уникальны для него. Для изображения тутума/лампы, take a look here.

+1

Большое вам спасибо за подробный ответ:). У меня мало сомнений. Рассмотрим настройку Где мне нужен сервер mysql и tomcat apache с двумя сетевыми картами. Это можно легко сделать в openVZ, так как это виртуальный сервер, и я могу создать столько виртуальных частных серверов на одном компьютере. Как я могу достичь этого Докера? –

+0

для тех, кто хочет узнать больше о контейнерах linux и докеров, прочитайте это http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine?rq= 1 –

+0

Ваша установка может быть достигнута в обоих решениях. Когда вы выбираете докеры, вы просто пересылаете порты контейнерных сервисов, чтобы они выглядели так, как будто они размещены на хост-докере. Кроме того, вы можете настроить привязку контейнеров друг к другу, чтобы вам не нужно было публиковать свою базу данных в Интернете. Я лично пошел за докером, есть кривая обучения, но в конце концов гораздо проще настроить и установить приложения. Вы наверняка влюбитесь в Docker в течение нескольких дней, я готов поспорить. – RoyB

Смежные вопросы