Это изображение может помочь вам понять основное различие между ними:
Все они имеют общее, так это то, что все эти 3 технологии связаны с контейнерами.
Контейнеры - это облегченный механизм виртуализации, который не требует настройки виртуальной машины для эмуляции физического оборудования. В Linux у них есть общие функции ядра: cgroups
, пространства имен (ipc, network, user, pid, mount)
. Они также пытаются создать более безопасную среду, создавая непривилегированные контейнеры и интегрируясь с такими функциями безопасности, как selinux
. Эти технологии экспортируют API-интерфейсы для лучшей интеграции с другим программным обеспечением.
Эти два объединяют одно и то же семейство где:
По сути, автономное пользовательское пространство ОС создается с его изолированной инфраструктурой. lxc больше напрямую зависит от возможностей ОС для работы в сети и хранилища, чем Docker.
Вы создаете много виртуальных машин с изолированными пользовательским пространством и ядром, но они не являются полноценными виртуальными машинами, поскольку на них не работают отдельные ядра, и они не паравиртуализированы по той же причине.
Canonical является здесь главным спонсором, и Oracle также вкладывает человеко-часы в эту технологию.
У него есть некоторые отличия, самое большое из которых - Движок, который объединяет Приложения с автономной файловой системой вместо базового «образа пользовательского пространства». Идея состоит в том, чтобы содержать приложение и базовый образ, чтобы создать впечатление, что приложение представляет собой единый процесс внутри движка. Docker использовал технологию lxc в качестве основы для взаимодействия с ядром, но сегодня он использует свою собственную библиотеку, libcontainer .
Файловая система является абстракцией от Docker, тогда как lxc напрямую использует функции файловой системы. Сеть также является абстракцией, а с lxc вы можете более легко настроить IP-адреса и конфигурации маршрутизации. Некоторые сайты, подобные App Store, поддерживаются Microsoft, Amazon, Vmware, IBM и другими игроками.
Докер. INC. Является здесь главным спонсором. Vmware также инвестирует в эту технологию.
Связанная контейнерная технология:
Это другие контейнерные технологии, которые есть в Linux: OpenVZ и Linux-VServer
Связанные материалы:
Использование флага --export
было ключом (Спасибо за подсказку, @Johan Myréen ). Таким образом, чтобы увидеть детали сертификата и отпечатки пальцев, это работает:
p11tool --export <certurl> | openssl x509 -text -noout
p11tool --export <certurl> | openssl x509 -fingerprint -noout
#по умолчанию используется отпечаток SHA1
p11tool --export <certurl> | openssl x509 -fingerprint -noout -md5
#для отпечатка пальца MD5