Docker, LXD 및 LXC의 차이점은 무엇입니까?


163

Docker, LXD 및 LXC의 차이점은 무엇입니까? 그들은 동일한 서비스 또는 다른 서비스를 제공합니까?


1
이 것이 유용하다는 것을 알았습니다. 최신 정보. people.canonical.com/~kirkland/…
Ijaz Ahmad Khan

infoworld.com/article/3204171/linux/…에 대한 아주 좋은 설명 . 그것은 그 언급 Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environment링크에 대한 자세한
알리레자 Fattahi

답변:


132

아니요, LXC, Docker 및 LXD는 동일하지 않습니다. 한마디로 :

LXC

LinuX Containers (LXC)는 단일 제어 호스트 (LXC 호스트)에서 여러 개의 고립 된 Linux 시스템 (컨테이너)을 실행하기위한 운영 체제 레벨 가상화 방법입니다.

https://wiki.archlinux.org/index.php/Linux_Containers

저수준 ...

https://linuxcontainers.org/

도커

  • Docker, Inc 제작
  • LXC 컨테이너를 사용하는 컨테이너 시스템
  • 그래서 당신은 할 수 있습니다 : Build, Ship, and Run Any App, Anywhere http://www.docker.com

LXD

도커 대 LXD

  • Docker는 앱 배포를 전문으로합니다.
  • LXD는 (Linux) 가상 머신 배포를 전문으로합니다.

Docker와 LXD의 인포 그래픽

출처 : http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml

원래 : https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/

사소한 기술 노트



12
고정 표시기는 2014 년부터 후드 LXC을 사용하지 않은 : blog.docker.com/2014/03/...
infomaniac

68

이 이미지는 다음과 같은 주요 차이점을 이해하는 데 도움이됩니다.

lxc x 도커

그들 모두 공통점은이 3 가지 기술이 모두 컨테이너와 관련되어 있다는 것입니다.

컨테이너는 실제 하드웨어 에뮬레이션에서 가상 머신을 설정할 필요가없는 간단한 가상화 메커니즘입니다. Linux에서 공통적으로 사용되는 것은 커널 기능입니다 : cgroups, namespaces(ipc, network, user, pid, mount). 또한 권한이없는 컨테이너를 만들고와 같은 보안 기능을 통합하여보다 안전한 환경을 만들려고합니다 selinux. 이러한 기술은 API를 내보내 다른 소프트웨어와 더 잘 통합됩니다.

LXD와 LXC

이 두 가지는 다음 과 같은 제품군을 통합합니다 .

  • lxc : Linux 커널 격리 기능을위한 사용자 공간 인터페이스. 이것은 커널 네임 스페이스, Apparmor 및 SELinux 프로파일, Chroots, 커널 기능 및 기타 모든 커널 관련 항목을 관리하는 사람입니다.
  • lxd : 컨테이너 "하이퍼 바이저"입니다. 데몬 (lxd), 명령 줄 인터페이스 (lxc) 및 OpenStack 플러그인으로 구성됩니다. 이 녀석은 lxc에 더 많은 유연성과 기능을 제공하기 위해 개발되었지만 여전히 사후에 사용합니다.

기본적으로 자체 포함 OS 사용자 공간은 격리 된 인프라로 생성됩니다. lxc는 Docker보다 네트워킹 및 스토리지를위한 OS 기능에 더 직접적으로 의존합니다.

사용자 공간과 커널 격리가있는 많은 가상 머신을 생성하지만, 분리 된 커널을 실행하지 않고 동일한 이유로 반 가상화되지 않으므로 완전한 가상 머신이 아닙니다.

Canonical은 여기서 주요 후원자이며 Oracle은이 기술에 인력을 투자하고 있습니다.

도커

기본 "사용자 공간 이미지"대신 자체 포함 파일 시스템으로 응용 프로그램을 마무리하는 엔진 중 가장 큰 차이점이 있습니다. 아이디어는 앱과 기본 이미지를 포함하여 앱이 엔진 내부의 단일 프로세스라는 인상을줍니다. Docker는 커널과 통신하기 위해 lxc 기술을 기본으로 사용했지만 오늘날 자체 라이브러리 libcontainer를 사용 합니다.

파일 시스템은 Docker의 추상화이며 lxc는 파일 시스템 기능을 직접 사용합니다. lxc를 사용하면 IP 주소 및 라우팅 구성을보다 쉽게 ​​설정할 수 있습니다. 일부 "App Store like"사이트는 Microsoft, Amazon, Vmware, IBM 및 기타 플레이어가 관리하고 있습니다.

도커. INC.가 주요 후원사입니다. Vmware 도이 기술에 투자 하고 있습니다.

관련 컨테이너 기술 :

이것들은 리눅스가 가지고있는 다른 컨테이너 기술들입니다 : OpenVZLinux-VServer

관련 물건 :



네. 그 이후로 Ubuntu wada-wada의 모든 zfs가 포함되었습니다. 그리고 그것은 프레젠테이션입니다. "이보다 더 나은"또는 "가장 빠른 기술"또는 "Y보다 확장 성이 높은"같은 세계가있는 PDF 또는 PPT에 항상주의하십시오.

5
나는 Canonical에서 나오는 제품에 대해 회의적이었습니다. 그들은 자신이 아닌 자신이 무엇인지를 광고하는 경향이 있습니다. 종종 그 "아마도"몇 년이 지나야 할 때가 있습니다.
orodbhen

소문자 lxc를 사용하는 대신 liblxc를 참조해야합니다. 그리고 지금까지 툴링에 관한 한, 그 다음 LXD (단지 데몬) liblxc> = 2.0에서만 사용할 수 있습니다 경우 3.x를 통해 1.x에서 참조 할 수 있습니다 lxc의 후속 인 LXD 클라이언트 프로그램 표준시 lxc-*-named을 LXC 1.x 도구.
0xC0000022L
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.