2014-09-09 19 views
19

Tôi đã thử chạy các container trong chế độ đặc quyền, nhưng vẫn không thể tải vboxdrv.là nó có thể chạy virtualbox bên trong một container docker

tôi nhận được

WARNING: The vboxdrv kernel module is not loaded. Either there is no module 
    available for the current kernel (3.11.0-22-generic) or it failed to 
    load. Please recompile the kernel module and install it by 

     sudo /etc/init.d/vboxdrv setup 

    You will not be able to start VMs until this problem is fixed. 
+0

Bạn đã cài đặt mô-đun hạt nhân trên hệ thống máy chủ của bạn chưa? – Regan

+0

Tôi đã làm. Vẫn là lỗi tương tự. – babbata

+0

Bạn có thể cung cấp cho chúng tôi thêm thông tin về: hệ thống của bạn, phiên bản trình docker của bạn không, cách bạn khởi chạy vbox vào vùng chứa? – Regan

Trả lời

12

Vâng, bạn có thể. Bạn sẽ cần phải chắc chắn rằng bạn có module hạt nhân trên hệ thống máy chủ của bạn. Tôi đang chạy Ubuntu, nhưng tôi chắc chắn rằng nó muốn được tương tự trên distro khác:

sudo apt-get install linux-headers-generic virtualbox-dkms 

Và chắc chắn rằng các mô-đun hạt nhân được nạp:

sudo /etc/init.d/virtualbox status 
VirtualBox kernel modules are loaded. 

Bây giờ, chạy container Docker, và mount/dev/vboxdrv như một khối lượng:

docker run -it -v /dev/vboxdrv:/dev/vboxdrv your/container-image 
+0

bạn có chắc chắn đây là '-v' thay vì' --device' (thiết bị) không? Tôi nhận được 'Không thể mở"/dev/vboxdrvu ", errno = 1, rc = VERR_VM_DRIVER_NOT_ACCESSIBLE'. Ngoài ra, dưới chế độ đặc quyền, hộp Windows của tôi chỉ sử dụng CPU 100% và không bao giờ làm bất cứ điều gì, nhưng tôi nghĩ đó là một vấn đề khác. – fommil

+0

@Dana Tôi có vấn đề khác, có thể bạn có thể giúp tôi. http://stackoverflow.com/questions/38620060/docker-machine-error-to-create-default-machine –

12

Sửa tại 2016-03-27 12:54 UTC

tôi có s chính xác vấn đề ame và tôi có thể dockerize thành công phiên bản mới nhất của VirtualBox với Extension Pack và phpvirtualbox trên CentOS 7.

Bạn phải cài đặt tấn phụ thuộc như kernel-devel, make, gcc và dkms. Sau khi hoàn thành việc xây dựng docker, bạn phải chạy hình ảnh docker với những lá cờ --privileged=true -v /dev/:/dev/. bạn cần cờ --privileged=true để chạy các hình ảnh với các phiên bản Docker của 1.10.3

Đối với các chi tiết, vui lòng xem tôi Dockerfilerun.sh

Đối với các chi tiết, xin vui lòng có một cái nhìn my repository đặc biệt Makefile, virtualbox.Dockerfile, vboxwebsrv.Dockerfilephpvirtualbox.Dockerfile

+1

bạn cần '-v' nếu bạn chỉ định' --privileged = true'? Tôi nghĩ nó đã được ngụ ý. – fommil

+1

có, vẫn cần. nó sẽ có lỗi khi chạy '/etc/init.d/vboxdrv setup' bên trong vùng chứa.'Bắt đầu mô-đun hạt nhân VirtualBox [FAILED] (Không thể tạo thiết bị/dev/vboxdrv với chính 10 và nhỏ 57u 58)' – WooD

+0

nó chắc chắn không cần thiết nữa với docker/virtualbox mới hơn. Thiết bị được truyền chính xác với '--device' – fommil

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