FreeBSD Jails 또는 Docker 인스턴스 차이점은 무엇입니까? 하나는

FreeBSD의 감옥과 Linux의 Docker의 주요 차이점은 무엇입니까? 하나는 다른 것보다 훨씬 안전하거나 성능이 좋습니까? 감옥은 Docker 인스턴스보다 오래되어 코드 자체가 더 안전하다고 간주 될 수 있습니다. 그러나 감옥은 결코 “잡히지”않았으므로 아마도 Docker 인스턴스만큼 좋지 않을까요? 아니면 Linux가 FreeBSD보다 훨씬 더 인기가 있기 때문입니까?



답변

필자는 FreeBSD 교도소와 Linux Docker의 몇 가지 측면, 그것들의 차이점과 차이점을 다룰 것입니다.

  • 둘 다 동일한 목표를 제공합니다. 동일한 커널에서 분리되고 격리 된 구획에서 응용 프로그램을 실행할 때 경량 가상화의 구현이며, 여기서 유사성이 끝나고 차이점이 시작됩니다.
  • Docker는 다양한 공용 또는 개인 리포지토리에서 얻을 수있는 준비된 이진 이미지를 실행하는 데 주로 사용되는 도구입니다. 대부분의 사람들은 이런 식으로 사용합니다. 더 적은 수의 사람들이 자신의 것을 구성한 다음 해당 저장소에 업로드합니다.
  • FreeBSD 감옥은 리눅스에서 LXC와 비슷합니다 : 컨테이너를 처음부터 새로 만드는 방법입니다. 소프트웨어를 작성하고 소프트웨어를 설치하면 그게 전부입니다. FreeBSD에서 FreeBSD로 취급 될 수 있습니다. Docker 에서처럼 컨테이너를 단일 소프트웨어로 내보내는 쉬운 방법은 없습니다. 따라서 FreeBSD를 사용하는 거의 모든 사람들은 항상 FreeBSD 포트 시스템 또는 소스에서 소프트웨어를 설치하여 처음부터 (즉, 설치된 기본 시스템에서) 컨테이너 내에 자체 FreeBSD를 빌드합니다. 따라서 FreeBSD 교도소는 덜 친숙하고 시작 비용이 높습니다.
  • LXC 컨테이너가 지속되는 것과 같은 방식으로 FreeBSD 감옥도 지속됩니다. 부츠 사이의 모든 변경 사항은 그대로 유지됩니다. 내가 말했듯이, 그것은 동일한 OS 안에있는 OS의 일부 일뿐입니다 (유저 랜드 소프트웨어 버전은 FreeBSD 커널에서 ABI가 유지 될 때까지 다를 수 있습니다). 이것은 당신이 커밋 할 수 없다는 것을 의미합니다 변경 사항을 . 일단 변경 사항이 커밋되면 커밋됩니다.
  • 위의 모든 것에서 Docker와 같이 FreeBSD 컨테이너가 유사한 오케스트레이션 계층을 가질 수없는 이유는 분명합니다. 네트워크로 연결된 OS가 제공하는 인터페이스 만 : 네트워크 소켓, 유닉스 소켓, 공통 마운트 포인트.
  • 물론 Docker에는 없기 때문에 FreeBSD 감옥에서 누가 누구와 통신 할 수 있는지에 대한 제한은 없습니다.
  • FreeBSD에서 도커를 적어도 부분적으로 지원하기 때문에 FreeBSD에서 네이티브 도커 이미지를 실행할 수 있지만 Linux는 무료이기 때문에 Linux 호환성을 통해 실행되기 때문에 Linux에 대해 강력히 권고합니다 (그리고 FreeBSD를 정말로 깊이 사랑합니다). 알려진 제한 사항을 제공하는 계층 (FreeBSD 커널 모듈과 함께 제공).