Я новичок в мире виртуализации. Может ли кто-нибудь объяснить мне разницу между OpenVZ и Docker?
Что может быть хорошего в будущем?
Плюсы и минусы?
Я новичок в мире виртуализации. Может ли кто-нибудь объяснить мне разницу между OpenVZ и Docker?
Что может быть хорошего в будущем?
Плюсы и минусы?
Взгляд на контейнеры сильно различается между версиями 2.
Короче говоря OpenVZ рассматривает контейнер как VPS, а докер видит контейнер как приложение/сервис.
Что это означает? Для OpenVZ вы можете ожидать, что создание контейнеров будет похоже на создание виртуальных серверов. OpenVZ имеет интерфейсы, ориентированные на настройку контейнеров VPS, которые вы украшаете вручную. Поэтому они предоставляют шаблоны для пустых Linux-машин, которые вы можете запускать и выключать, к которым вы затем подключаетесь по SSH, чтобы настроить их самостоятельно со всем, что вам нужно, например стек LAMP.
Когда вы захотите настроить стек LAMP, вы должны сделать это, как обычно, когда настраиваете новый сервер. Вы получаете пустую Linux-машину с виртуальным сетевым адаптером, который имеет собственный общедоступный IP-адрес WAN с Ubuntu на нем, получаете доступ к нему с помощью SSH, и вы устанавливаете на нем все необходимые службы с помощью обычного менеджера пакетов (yum или apt) и выполняете настройка требуется в конфигурационных файлах самостоятельно.
Для Docker вы можете ожидать, что при создании контейнеров контейнер представляет собой отдельное приложение, которое выполняет только ОДНУ вещь. Следовательно, ему могут понадобиться некоторые другие контейнеры, чтобы помочь ему. (Например, контейнер, предоставляющий базу данных). Docker позволяет очень легко определить, что находится внутри контейнера, без необходимости запускать его и постоянно создавать новые точно равные экземпляры этого контейнера. Они определяют содержимое док-контейнера (изображения) с помощью очень легковесных шаблонов, которые они называют Dockerfiles.
Уже существует огромный набор файлов докеров, которые вы можете найти в центре Docker, посмотрите сами (это как быть в кондитерской с бесплатными конфетами! :D): докер-хаб. Образы, созданные этими файлами докеров, можно извлечь с помощью инструмента CLI docker с помощью команды pull. В докере также есть легкий доступ к таким вещам, как переадресация портов, виртуальные каталоги (чтобы вы могли легко получать доступ к файлам на хост-компьютере) и тому подобное, что может использовать любой исполняемый файл.
Если вам нужен стек LAMP в докере, все, что вам нужно сделать, это "docker run -d -p 80:80 tutum/lamp"
Это извлекает образ tutum/lamp и запускает его в виде демона (-d) с портом 80 из контейнера, переадресованным на порт 80 хоста, открывая внутреннюю веб-службу снаружи. Как видите, у него нет собственного IP-адреса, в отличие от машины OpenVZ. И это точно так же, как сервер Apache, работающий на вашей корневой машине. Преимущество по сравнению с его нативной установкой заключается в том, что докер делает установку намного проще и имеет неограниченное количество копий. Кроме того, он не загромождает ваш хост-компьютер большим количеством файлов и обеспечивает границу безопасности вокруг вашего приложения.
В большинстве образов докеров есть множество функций, которые уникальны для него. Образ пачки/лампы посмотрите здесь.