2015-05-22 22 views
13

Ai có thể giải thích cho tôi sự khác biệt không?Vagrant - Docker provider vs docker provisioner

Cấp phép - là điều gì đó đang cung cấp - trong trình cài đặt, chạy, kéo vùng chứa.

Nhà cung cấp - là thứ chạy VM. I E. VBox chạy hình ảnh hệ điều hành Ubuntu.

Làm cách nào để Docker trở thành nhà cung cấp? Nó chạy trực tiếp một số hình ảnh docker? Nếu tôi đang ở trên cửa sổ thì phải có một số cách sử dụng ẩn của boot2docker phải không? Khi nào tôi sẽ sử dụng mỗi cái?

Trả lời

6

Trợ giúp trình cung cấp trình điều khiển Docker để chuẩn bị môi trường: xây dựng và kéo hình ảnh, chạy các thùng chứa nếu bạn cần nhiều thùng chứa đang chạy cho máy của bạn. Nhà cung cấp trình cắm lưu trữ đang chạy máy lang thang trong vùng chứa docker (thay vì máy ảo/đám mây như các nhà cung cấp khác làm).

Trên Linux lang thang đang sử dụng docker từ hệ điều hành máy chủ. Trên Windows và MacOS X boot2docker được sử dụng cho cả docker provisioner và provider. Theo mặc định, tất cả các máy docker lang thang đang sử dụng cùng một cá thể boot2docker - nhưng bạn có thể cấu hình VM nào để sử dụng (Nó không cần phải là boot2docker - bất kỳ Linux nào với docker đều là ok).

+0

Tại sao tôi muốn chạy lang thang trong máy docker? Vagrant là hữu ích để chạy docker bất cứ nơi nào nhưng ngược lại? Trường hợp sử dụng này cho Windows có nghĩa là chạy boot2docker chạy container chứa ngôn ngữ, có thể chạy docker một lần nữa. Vagrant trong container docker, tại sao? "Trên Linux lang thang là sử dụng docker từ hệ điều hành máy chủ", vì vậy tôi có hình ảnh vagrant và nó bằng cách nào đó là sử dụng docker cài đặt trên máy chủ? Bạn có thể làm rõ thêm một chút không? – Zveratko

+1

@ Zveratko, nó có thể là lý do khác nhau: trên docker Linux nhanh hơn và hiệu quả hơn tài nguyên hơn bất kỳ vm, nó có thể là một số container docker mà bạn muốn sử dụng. Nhưng cá nhân tôi thích sử dụng docker trực tiếp - tôi hoàn toàn di chuyển từ lang thang đến docker, nhưng nó là vấn đề sở thích và trường hợp sử dụng. – ISanych

+0

Bây giờ tôi đang cố gắng hiểu [this] (http://blog.scottlowe.org/2015/02/10/using-docker-with-vagrant/). Họ đang sử dụng Docker như nhà cung cấp Vagrant và sau đó họ đang cung cấp Vagrant with Docker. Đối với tôi, những đường nối như ai đó đang bắt đuôi của anh ta. Cùng một [ở đây] (http://itsmyviewofthings.blogspot.cz/2014/06/docker-dev-in-box-environment-setup.html) họ có một tập tin lang thang mà khi khởi động sẽ chạy tập tin thứ hai lang thang để xác định máy chạy docker (không phải boot2docker), sau đó chúng chạy file docker. Tại sao họ sử dụng config.vm.define? – Zveratko

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