Debian/Centos의 Freebsd Jails 대안

Debian/Centos의 Freebsd Jails 대안

저는 결국 FreeBSD/Freenas에서 Debian/Freenas Scale로 이동할 예정이지만 질문은 더 광범위합니다. Linux osses의 감옥과 동등한 것은 무엇입니까?

이제 대부분은 docker나 그 변형을 권장합니다. 나는 동의하지만 감옥이 작동하는 방식, 쉘로 가서 필요한 것을 변경/설치하는 방식이 정말 마음에 듭니다. 문제는 (AFAIK) 도커를 감옥처럼 밟는 것이 불가능하므로 사전 구성 등으로 빌드해야 한다는 것입니다. 그것은 나에게 적합하지 않습니다.

그런 다음 다음 옵션은 VM입니다. 이것이 작동할 것 같지만 모든 앱에 대해 VM을 생성하는 것이 너무 복잡하게 느껴집니다. 게다가 자원을 낭비하지 않을까요?.

그래서 나는 현재의 감옥을 현재와 같은 기능을 유지하기 위해 무엇으로 교체할 것인지에 대한 권장 사항을 찾고 있습니다.

답변1

설계상의 이유로 특정 운영 체제를 사용해야 하는 경우 해당 운영 체제에 도구를 이식해야 합니다.

우리는 제품 추천을 하지 않으므로 귀하가 컨테이너 관리 도구를 찾거나 만들어야 합니다. 감옥은 구현 세부 사항에서 Linux 컨테이너와 확실히 다릅니다. 그러나 컨테이너 기술을 비교해 보면 높은 수준에서는 유사하다는 것을 알 수 있습니다.


FreeBSD 감옥다른 리소스를 격리하여 chroot가 향상되었습니다. 수명주기를 관리하고, 미디어에서 설치하고, 시작하고 중지하는 도구도 있습니다.

Linux의 유사한 격리 메커니즘은 다음과 같습니다.네임스페이스. 네트워크, 사용자, 마운트, IPC, 이름 없음. 이를 기반으로 구축된 대부분의 컨테이너 도구(여러 가지 선택 사항이 있음)는 모든 것이 어떻게 작동해야 하는지에 대한 자체 아이디어를 강요합니다. Docker는 chroot만이 아닙니다. Docker가 이미지나 네트워킹을 수행하는 방식이 마음에 들지 않을 수도 있습니다.

그러나 컨테이너라고 생각하는 것 없이도 Linux 네임스페이스를 사용할 수 있습니다.네임스페이스에 대한 Wikipedia 페이지chroot에 프로세스 격리를 추가하는 흥미로운 아이디어가 있습니다.

SHELL=/bin/sh unshare --fork --pid chroot "${chrootdir}" "$@"

이 chroot를 생성하고 여기에 항목을 설치하는 단계는 포함되어 있지 않습니다.

답변2

컨테이너에서 놓친 감옥의 기능이 무엇인지 더 자세히 설명하고 싶을 수도 있습니다. 저는 개인적으로 LXC 컨테이너를 실행하며 그 컨테이너에는 개성이 있습니다(데비안 호스트의 데비안 또는 우분투). SSH를 사용할 수 있고, 네트워크 네임스페이스 덕분에 호스트 IP 스택과 분리된 자체 IP 스택이 있으며, 프로세스 네임스페이스 덕분에 호스트 애플리케이션과의 상호 작용 없이 자체 애플리케이션 세트를 설치하고 실행할 수 있습니다.

관련 정보