2015-03-27 17 views
38

Tôi là người mới đến với thế giới ảo hóa. Có thể một số giải thích cho tôi sự khác biệt giữa OpenVZ và Docker?Sự khác biệt giữa Docker và OpenVZ

Điều gì có thể tốt cho tương lai?

Ưu và nhược điểm?

+0

không có cơ thể là các chuyên gia trong cả hai OpenVZ và Docker. –

+0

Tôi sẽ nói http://aucouranton.com/2014/06/13/linux-containers-parallels-lxc-openvz-docker-and-more/ là một câu trả lời hay :) –

Trả lời

65

Quan điểm trên container là rất khác nhau giữa 2.

Nói tóm lại OpenVZ thấy một container như một VPS, và Docker thấy một container như một ứng dụng/dịch vụ.

này không ngụ ý gì? Đối với OpenVZ bạn có thể mong đợi rằng khi bạn tạo các vùng chứa, kiểu sắp xếp của nó giống như tạo Máy chủ ảo. OpenVZ có giao diện tập trung vào việc thiết lập các container VPS mà bạn tự trang trí bằng tay. Vì vậy, họ cung cấp các mẫu cho các máy Linux trống mà bạn có thể khởi động và tắt, sau đó bạn vào SSH, để tự thiết lập chúng với bất cứ thứ gì bạn cần, như một ngăn xếp LAMP.

Khi bạn muốn thiết lập một LAMP stack, bạn sẽ làm điều đó như bạn thường làm gì khi bạn thiết lập một máy chủ mới. Bạn nhận được một máy Linux trống với một bộ điều hợp ethernet ảo có IP WAN có thể truy cập công khai với Ubuntu, truy cập nó bằng SSH và bạn cài đặt tất cả các dịch vụ cần thiết bằng cách sử dụng trình quản lý gói trung bình (yum hoặc apt) và thực hiện thiết lập yêu cầu trong tập tin cấu hình chính mình.

Đối với Docker, bạn có thể mong đợi rằng khi bạn tạo vùng chứa, vùng chứa là một ứng dụng duy nhất, chỉ thực hiện MỘT điều. Do đó, nó có thể cần một số container khác để giúp nó. (Ví dụ một container cung cấp một cơ sở dữ liệu) Docker đã làm cho nó rất dễ dàng để xác định whats bên trong một container mà không cần phải thực sự bắt đầu một lên, và liên tục tạo mới chính xác bằng các trường hợp của container này. Họ xác định nội dung của một docker container (hình ảnh) bằng cách sử dụng các mẫu rất nhẹ mà họ gọi Dockerfiles.

Có một tập hợp lớn các dockerfiles đã xuất hiện ở đó, bạn có thể tìm thấy trong trung tâm Docker, hãy xem bản thân (giống như đang ở trong một cửa hàng kẹo với kẹo miễn phí! D): docker hub. Các hình ảnh được tạo bởi các dockerfiles này có thể được kéo bằng công cụ CLI docker, bằng cách sử dụng lệnh kéo. Trong docker cũng dễ dàng truy cập vào các công cụ như chuyển tiếp cổng, thư mục ảo (để bạn có thể dễ dàng truy cập tệp trên máy chủ) và mọi thứ có thể thực thi.

Nếu bạn muốn một LAMP stack trong Docker, tất cả các bạn làm là "Docker chạy -d -p 80:80 tutum/đèn"

này kéo hình ảnh tutum/đèn, và chạy daemonised (-d) với cổng 80 từ vùng chứa được chuyển tiếp đến cổng 80 của máy chủ, hiển thị dịch vụ web bên trong tới bên ngoài. Như bạn thấy, nó không có địa chỉ IP riêng của nó trái ngược với một máy OpenVZ. Và nó giống như một máy chủ apache chạy trên máy chủ của bạn. Lợi thế so với cài đặt nó nguyên bản, là docker làm cho việc cài đặt dễ dàng hơn và không giới hạn sao chép. Ngoài ra, nó không làm lộn xộn máy chủ của bạn với nhiều tệp và cung cấp ranh giới bảo mật xung quanh ứng dụng của bạn.

Theres rất nhiều tính năng trong hầu hết các hình ảnh Docker, đó là duy nhất với nó. Đối với hình ảnh tutum/đèn, take a look here.

+1

Cảm ơn bạn rất nhiều vì câu trả lời chi tiết:). Tôi có vài nghi ngờ. Hãy xem xét một thiết lập Nơi tôi cần một máy chủ mysql và apache tomcat với hai card mạng. Điều này có thể dễ dàng đạt được trong openVZ vì nó là máy chủ ảo và tôi có thể tạo nhiều máy chủ riêng ảo trong cùng một máy. Làm thế nào tôi có thể đạt được Docker này? –

+0

đối với một số người muốn biết thêm về vùng chứa linux và bộ điều hợp dock, hãy đọc http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine?rq= này 1 –

+0

Thiết lập của bạn có thể đạt được trong cả hai giải pháp. Khi bạn chọn docker, bạn sẽ chỉ chuyển tiếp các cổng của các dịch vụ được container để có vẻ như chúng được lưu trữ từ máy chủ docker. Ngoài ra, bạn có thể chọn liên kết các vùng chứa với nhau, để bạn không cần phải để lộ cơ sở dữ liệu của mình lên web. Cá nhân tôi đi cho docker, có một đường cong học tập, nhưng cuối cùng nó dễ dàng hơn để thiết lập và cài đặt các ứng dụng. Bạn chắc chắn sẽ rơi vào tình yêu với Docker trong vòng vài ngày tôi đặt cược. – RoyB

Các vấn đề liên quan