FreeBSD Jails hoặc Docker dụ


18

Sự khác biệt chính giữa các nhà tù trên FreeBSD và Docker trên Linux là gì? Là một trong những đáng kể an toàn hơn hoặc hiệu suất hơn so với cái khác? Các nhà tù cũ hơn các phiên bản Docker vì vậy bản thân mã có thể được coi là an toàn hơn. Nhưng Jails không bao giờ "bị bắt" nên có lẽ chúng không tốt như Docker? Hay đó chỉ là vì Linux phổ biến hơn FreeBSD rất nhiều?

Câu trả lời:


24

Tôi sẽ giải quyết một số khía cạnh của các nhà tù FreeBSD và Linux Docker, về cách chúng giống nhau và chúng khác nhau như thế nào.

  • cả hai đều phục vụ cùng một mục tiêu: đó là một triển khai ảo hóa nhẹ, khi bạn chạy ứng dụng trong một ngăn riêng biệt và tách biệt dưới cùng một hạt nhân, và ở đây, sự tương đồng kết thúc và sự khác biệt bắt đầu
  • Docker là một công cụ được sử dụng chủ yếu để chạy các hình ảnh nhị phân đã chuẩn bị mà người ta có thể nhận được từ các kho lưu trữ công cộng hoặc riêng tư khác nhau. Hầu hết mọi người sử dụng nó theo cách này. Ít người xây dựng cái riêng của họ và tải lên các kho lưu trữ đó.
  • Các nhà tù FreeBSD giống như LXC trong Linux: đó là phương pháp tạo container của bạn từ đầu. Bạn tạo nó, cài đặt phần mềm vào nó và gần như tất cả - phần mềm có thể được coi là FreeBSD trong FreeBSD. Không có cách nào dễ dàng để xuất container đó dưới dạng một phần mềm, như trong Docker. Vì vậy, gần như tất cả những người sử dụng FreeBSD, au contraire, luôn xây dựng một phần FreeBSD của riêng họ bên trong một thùng chứa từ đầu (tức là từ hệ thống cơ sở được cài đặt), cài đặt phần mềm từ hệ thống Cổng FreeBSD hoặc từ nguồn. Do đó, các nhà tù FreeBSD ít thân thiện hơn và có chi phí bắt đầu sử dụng cao hơn.
  • tương tự như các container LXC vẫn tồn tại, các tù FreeBSD cũng tồn tại lâu. Tất cả những thay đổi vẫn còn nguyên giữa những đôi giày. Như tôi đã nói, nó chỉ là một phần của HĐH trong cùng một HĐH (mặc dù các phiên bản phần mềm người dùng có thể khác nhau cho đến khi ABI được duy trì trong nhân FreeBSD). Điều này có nghĩa là bạn không thể cam kết các thay đổi - chúng được cam kết một khi chúng được tạo.
  • từ tất cả những điều trên rõ ràng tại sao các container FreeBSD không thể có lớp phối hợp tương tự của chúng, giống như Docker: không có cổng xuất bản, không có khối lượng, không có liên kết hoặc bất kỳ kết nối meta nào giữa các nhà tù khác nhau. Chỉ các giao diện mà HĐH nối mạng cung cấp cho bạn: ổ cắm mạng, ổ cắm unix, điểm gắn kết chung.
  • Tất nhiên, không có giới hạn nào về việc ai có thể liên lạc với ai trong nhà tù FreeBSD, vì không có ai trong Docker.
  • bạn có thể chạy hình ảnh docker gốc trong FreeBSD, bởi vì có ít nhất sự hỗ trợ một phần của docker trong FreeBSD, nhưng, vì Linux là miễn phí, tôi khuyên bạn nên chống lại nó (và tôi thực sự yêu thích FreeBSD), vì chúng sẽ được chạy qua khả năng tương thích với Linux lớp (được cung cấp với mô-đun hạt nhân FreeBSD) cung cấp một số hạn chế đã biết.

Để biết thêm thông tin về docker trên FreeBSD. Nó được sử dụng để hoạt động trong nhà tù (hãy tưởng tượng sự cô lập kép :)), nó được tạo ra như một cổng bởi nhà phát triển chính của FreeNAS khi họ muốn sử dụng nó trên bản phân phối đó. Đây là một bài viết từ họ nói về nótrang wiki cũ cho nó . Kể từ đó, họ ngừng duy trì nó và dường như nó không còn hoạt động nữa. Thêm để theo dõi trong các bình luận tiếp theo.
Vrakfall

Đây là bài đăng trên diễn đàn cuối cùng nói về trạng thái của Docker trong FreeBSD . Đạo cụ cho Phishfry ở đó cho một số thông tin tôi đã bỏ ở đây. Bạn vẫn có thể sử dụng docker trên FreeBSD bằng cách chạy nó trong Linux ảo (bhyve, virtualbox, v.v.) và sử dụng cổng chỉ dành cho máy khách , vẫn được duy trì và hoạt động, để kết nối với nó. Sau khi tất cả boot2docker ban đầu được tạo ra để sử dụng docker theo cách đó trên MacOS.
Vrakfall

Và chúng ta biết MacOS là một cổng (đáng xấu hổ, ho , đây là bit BSD của tôi) . Nhưng tất cả điều đó, tất nhiên, chỉ dành cho một môi trường phát triển và không thể được sử dụng trong sản xuất. Điều này dành cho những người muốn tiếp tục làm việc trên FreeBSD và có thể phát triển những thứ docker cho công việc / sở thích / bất cứ điều gì của họ.
Vrakfall

Ồ và tôi quên nói, nhưng bạn đã đề cập đến nó, docker-freebsdcổng cũ thực sự đang sử dụng Linuxulator của FreeBSD .
Vrakfall

Không chỉ là tôi muốn chạy hình ảnh công cộng. Ví dụ: nếu tôi không muốn dành vô số thời gian để học bảo mật, tôi truy cập dockerhub và viết vào "hardened": hub.docker.com/search?q=hardened&type=image và chạy một cái gì đó từ đó. Nó giúp tăng năng suất rất nhiều so với việc xây dựng container FreeBSD của riêng tôi từ đầu mà không phải là một chuyên gia bảo mật. Nhưng nếu bạn có một giải pháp thay thế nhanh tương tự, thì hãy chia sẻ! :-)
inf3rno
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.