Una muy buena explicación en infoworld.com/article/3204171/linux/… . Mencionó que Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environmentmás en el enlace
Alireza Fattahi
Respuestas:
133
No, LXC, Docker y LXD no son lo mismo. En breve:
LXC
LinuX Containers (LXC) es un método de virtualización a nivel de sistema operativo para ejecutar múltiples sistemas Linux aislados (contenedores) en un único host de control (host LXC)
Esta imagen puede ayudarlo a comprender la principal diferencia entre ellos:
Lo que todos tienen en común es que estas 3 tecnologías están relacionadas con los contenedores.
Los contenedores son un mecanismo de virtualización ligero que no requiere que configure una máquina virtual en una emulación de hardware físico. En Linux, lo que tienen en común son las características del Kernel utilizadas: cgroups, namespaces(ipc, network, user, pid, mount). También intentan crear entornos más seguros mediante la creación de contenedores sin privilegios y la integración con características de seguridad como selinux. Estas tecnologías exportan API para integrarse mejor con otros softwares.
lxc : interfaz de espacio de usuario para las características de contención del kernel de Linux. Este es el tipo que administra los espacios de nombres de Kernel, los perfiles de Apparmor y SELinux, Chroots, las capacidades de Kernel y todo lo demás relacionado con el kernel
lxd : es un contenedor "hipervisor". Está compuesto por un demonio (lxd), la interfaz de línea de comandos (lxc) y un complemento OpenStack. Este tipo fue desarrollado para proporcionar más flexibilidad y características a lxc, mientras que todavía lo usa bajo el capó.
Básicamente, se crea un espacio de usuario de SO autónomo con su infraestructura aislada. lxc subyace más directamente en las características del sistema operativo para redes y almacenamiento que Docker.
Usted crea muchas máquinas virtuales, que tienen espacio de usuario y aislamiento de kernel, pero no son máquinas virtuales completas ya que no están ejecutando kernels separados, ni están paravirtualizadas por la misma razón.
Canonical es el principal patrocinador aquí, y Oracle también está invirtiendo horas hombre en esta tecnología.
Tiene algunas diferencias, siendo el mayor de ellos el motor que cierra las aplicaciones con un sistema de archivos autónomo en lugar de una "imagen de espacio de usuario" base. La idea es contener la aplicación y la imagen base para crear la impresión de que la aplicación es un proceso único dentro del motor. Docker usó la tecnología lxc como subyacente para comunicarse con el núcleo, pero hoy usa su propia biblioteca, libcontainer .
El sistema de archivos es una abstracción para Docker, mientras que lxc usa las funciones del sistema de archivos directamente. La red también es una abstracción, mientras que con lxc puede configurar direcciones IP y configuraciones de enrutamiento más fácilmente. Microsoft, Amazon, Vmware, IBM y otros jugadores mantienen algunos sitios "similares a la App Store".
Estibador. INC. Es el patrocinador principal aquí. Vmware también está invirtiendo en esta tecnología.
Tecnología de contenedores relacionada:
Estas son otras tecnologías de contenedor que tiene Linux: OpenVZ y Linux-VServer
Sí. Eso es bastante nuevo ya que involucra todo ese zfs en Ubuntu wada-wada. Y eso es una PRESENTACIÓN. Esté siempre alerta a los archivos PDF o PPT donde haya mundos como "mejor que eso" o "tecnología más rápida" o "más escalable que Y" ...
55
He llegado a ser bastante escéptico sobre los productos que salen de Canonical. Tienden a publicitarlos como lo que podrían ser en lugar de como lo que son. A menudo, cuando ese "podría ser" todavía está a años de distancia.
orodbhen
En lugar de usar minúsculas lxc, esto debería ser una referencia a liblxc. Y en lo que respecta a las herramientas, puede referirse a 1.x a 3.x donde lxd (solo el demonio) solo está disponible para liblxc> = 2.0 y lxces el programa cliente LXD que es el sucesor del lxc-*nombre Herramientas LXC 1.x.
Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environment
más en el enlaceRespuestas:
No, LXC, Docker y LXD no son lo mismo. En breve:
LXC
https://wiki.archlinux.org/index.php/Linux_Containers
https://linuxcontainers.org/
Estibador
Build, Ship, and Run Any App, Anywhere
http://www.docker.comLXD
run LXD on Ubuntu and spin up instances of RHEL, CentOS, SUSE, Debian, Ubuntu and just about any other Linux too, instantly, ...
http://www.zdnet.com/article/ubuntu-lxd-not-a-docker-replacement-a-docker-enhancement/Docker vs LXD
Fuente: http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml
Originalmente: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/
Nota técnica menor
lxc
http://blog.scottlowe.org/2015/05/06/quick-intro-lxd/fuente
Esta imagen puede ayudarlo a comprender la principal diferencia entre ellos:
Lo que todos tienen en común es que estas 3 tecnologías están relacionadas con los contenedores.
Los contenedores son un mecanismo de virtualización ligero que no requiere que configure una máquina virtual en una emulación de hardware físico. En Linux, lo que tienen en común son las características del Kernel utilizadas:
cgroups
,namespaces(ipc, network, user, pid, mount)
. También intentan crear entornos más seguros mediante la creación de contenedores sin privilegios y la integración con características de seguridad comoselinux
. Estas tecnologías exportan API para integrarse mejor con otros softwares.LXD y LXC
Estos dos integran la misma familia donde:
Básicamente, se crea un espacio de usuario de SO autónomo con su infraestructura aislada. lxc subyace más directamente en las características del sistema operativo para redes y almacenamiento que Docker.
Usted crea muchas máquinas virtuales, que tienen espacio de usuario y aislamiento de kernel, pero no son máquinas virtuales completas ya que no están ejecutando kernels separados, ni están paravirtualizadas por la misma razón.
Canonical es el principal patrocinador aquí, y Oracle también está invirtiendo horas hombre en esta tecnología.
Estibador
Tiene algunas diferencias, siendo el mayor de ellos el motor que cierra las aplicaciones con un sistema de archivos autónomo en lugar de una "imagen de espacio de usuario" base. La idea es contener la aplicación y la imagen base para crear la impresión de que la aplicación es un proceso único dentro del motor. Docker usó la tecnología lxc como subyacente para comunicarse con el núcleo, pero hoy usa su propia biblioteca, libcontainer .
El sistema de archivos es una abstracción para Docker, mientras que lxc usa las funciones del sistema de archivos directamente. La red también es una abstracción, mientras que con lxc puede configurar direcciones IP y configuraciones de enrutamiento más fácilmente. Microsoft, Amazon, Vmware, IBM y otros jugadores mantienen algunos sitios "similares a la App Store".
Estibador. INC. Es el patrocinador principal aquí. Vmware también está invirtiendo en esta tecnología.
Tecnología de contenedores relacionada:
Estas son otras tecnologías de contenedor que tiene Linux: OpenVZ y Linux-VServer
Cosas relacionadas:
fuente
lxc
es el programa cliente LXD que es el sucesor dellxc-*
nombre Herramientas LXC 1.x.