LXC

LXC
Linux 컨테이너
Linux Containers logo.png
개발자
  • 커널: Virtuozzo, IBM, Google, Eric Biedman 등
  • 사용자 공간:다니엘 레즈카노, Serge Hallyn, Stéphane Graber 외
초기 릴리즈2008년 8월 6일, 13년 전(2008-08-06)[1]
안정된 릴리스
5[2].0 / 2022년 6월 17일; 48일 전 (2022년 6월 17일)
저장소
기입처C,
운영 체제리눅스
플랫폼x86, IA-64, PowerPC, SPARC, Itanium, ARM
유형OS 레벨의 가상화
면허증.GNU LGPL v.2.1 (GNU GPL v2 및 BSD일부 컴포넌트)
웹 사이트linuxcontainers.org

Linux Containers(LXC)는 단일 Linux 커널을 사용하여 제어 호스트에서 여러 분리된 Linux 시스템(컨테이너)을 실행하기 위한 운영 체제 수준의 가상화 방법입니다.

Linux 커널가상 머신을 시작하지 않고도 리소스(CPU, 메모리, 블록 I/O, 네트워크 등)의 제한과 우선순위를 지정할 수 있는 cgroups 기능과 프로세스를 포함한 운영 환경의 애플리케이션 뷰를 완전히 분리할 수 있는 네임스페이스 분리 기능을 제공합니다.트리, 네트워킹, 사용자 ID 마운트된 파일 시스템.[3]

LXC는 커널의 cgroups와 분리된 네임스페이스 지원을 결합하여 애플리케이션에 격리된 환경을 제공합니다.Docker의 초기 버전에서는 컨테이너 실행 드라이버로 LXC를 사용했습니다.단, V0.9에서는 LXC가 옵션이고 Docker v1.[4][5]10에서는 지원이 중단되었습니다.Linux 컨테이너에 대한 참조는 일반적으로[6] Linux에서 실행되는 Docker 컨테이너를 나타냅니다.

개요

LXC는 완전한 가상 머신을 작성하는 대신 독자적인 프로세스와 네트워크 공간을 갖춘 가상 환경을 통해 운영체제 수준의 가상화를 제공합니다.LXC는 버전 2.6.24에서 출시된 Linux 커널 cgroups 기능을 사용합니다.또한 메인라인 Linux 커널에 개발 및 통합된 다른 종류의 네임스페이스 분리 기능에 의존합니다.

보안.

원래 LXC 컨테이너는 OpenVZ와 같은 다른 OS 수준의 가상화 방법만큼 안전하지 않았습니다. 3.8 이전 Linux 커널에서는 게스트 시스템의 루트 사용자가 chroot [7]jail과 마찬가지로 루트 권한으로 호스트 시스템에서 임의 코드를 실행할 수 있었습니다.LXC 1.0 릴리스부터는 "권한 없는 컨테이너"[8]를 사용하여 호스트에서 일반 사용자로 컨테이너를 실행할 수 있습니다.권한이 없는 컨테이너는 하드웨어에 직접 액세스할 수 없다는 점에서 더 제한됩니다.단,[8] LXC 1.0 보안 모델에서는 권한이 있는 컨테이너라도 적절하게 설정되어 있는 경우 적절한 분리를 제공해야 합니다.

대체 수단

LXC는 OpenVZLinux-V서버 등의 Linux 상의 다른 OS 레벨 가상화 테크놀로지 및 FreeB 등의 다른 운영체제 상의 가상화 테크놀로지와 유사합니다.SD 감옥, AIX 워크로드 파티션Solaris 컨테이너.OpenVZ와 달리 LXC는 vanilla Linux 커널에서 동작하며 커널 소스에 추가 패치를 적용할 필요가 없습니다.2014년 2월 20일에 출시된 LXC 버전 1은 장기 지원 버전으로 5년간 [9]지원될 예정입니다.LXC 2.0 및 3.0은 장기 지원 릴리즈입니다.LXC 2.0은 2021년6월 1일까지, LXC 3.0은 [10]2023년6월 1일까지 지원됩니다.

LXD

LXD는 대체 Linux 컨테이너 관리자입니다.LXC를 기반으로 구축되어 보다 나은 사용자 [11]경험을 제공하는 것을 목표로 합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "LXC - Linux Containers". linuxcontainers.org. Retrieved 2014-11-10.
  2. ^ https://discuss.linuxcontainers.org/t/lxc-5-0-lts-has-been-released/14381 를 참조해 주세요.
  3. ^ Rami Rosen (May 2013). "Resource management: Linux kernel namespaces and cgroups" (PDF). cs.ucsb.edu. Retrieved February 11, 2015.
  4. ^ "Docker 0.9: introducing execution drivers and libcontainer - Docker Blog". Docker Blog. 2014-03-10. Retrieved 2018-05-09.
  5. ^ "Docker Engine release notes - 1.10.0 (2016-02-04)". 2016-02-04. Retrieved 2020-10-06.
  6. ^ Petros Koutoupis (2018-08-27). "Everything You Need to Know about Linux Containers, Part II: Working with Linux Containers (LXC) Linux Journal". www.linuxjournal.com. Retrieved 2021-07-10.
  7. ^ Marco, d'Itri (2011). "Evading from linux containers". Archived from the original on 9 January 2014. Retrieved 12 February 2014.
  8. ^ a b Graber, Stéphane (1 January 2014). "LXC 1.0: Security features [6/10]". Retrieved 12 February 2014. However, at least in Ubuntu, our default containers ship with what we think is a pretty good configuration of both the cgroup access and an extensive apparmor profile which prevents all attacks that we are aware of. [...] LXC is no longer running as root so even if an attacker manages to escape the container, he’d find himself having the privileges of a regular user on the host
  9. ^ Graber, Stéphane (2013-12-20). "LXC 1.0: Your first Ubuntu container". Stgraber.org. Retrieved 2014-02-23.
  10. ^ "Linux Containers - LXC". linuxcontainers.org. Retrieved 2021-03-02.
  11. ^ "Linux Containers - LXD - Introduction". linuxcontainers.org. Retrieved 2020-04-14.

외부 링크