Which Intel virtualizaton techniques are necessary for Docker? - virtualization

Which Intel virtualizaton techniques are necessary for Docker?
On a Linux system running on a Intel cpu, what Virtualization Technologies by Intel are necessary to fullfill the execution of a Docker container? E.g. there are VT-X, ...
Or is there no need of using such a technology because Docker is somehow different to existing virtualization solutions like VirtualBox. In this case, why is there no need?

None. Docker uses a completely different system - it's not running a virtual machine so much as a super chroot. See the question below:
Can I run Docker directly on a non VT-X machine (no Virtual Machine used)?
The tutorials that tell you you'll need VT-x are usually based on running docker in Windows (on Hyper-V) or in VirtualBox.

Related

Bare Metal/Native Hypervisors?

there are two types of hypervisors. As in http://www.tricerat.com/topics/hypervisor. I would like to know some examples for Bare Metal/Native Hypervisors ?
examples for Embedded/Host Hypervisors = vmware , xen , virtual pc
am i correct ?
I'm not sure, but I think Hyper-V is an example of what you're looking for.
Bare metal virtualization can be done using RedHat Vitalization Hypervisor 3.2 or 3.3 latest and open source is oVirt.
They do not require OS to run hypevisor on host and manager usually runs on another machine or guest to save host resources where hypervisor is installed.
Yes Xen and Vmware ESXi are also hypervisors used for bare metal virtualization.

Which VM solution to use for creating a freeBSD MIPS virtual machine?

There are a few notable virtualized solutions available to host virtual machines. For example, VMWare Workstation, vSphere ESXi and Virtual Box.
Please suggest which one of these to use for creating a freeBSD MIPS virtual machine?
Also, provide any specific h/w requirement for the host running the virtualized solution mentioned above to support MIPS.
Just wanted to share the answer I got from another channel. May it could help others. Quoting from the link "https://www.reddit.com/r/freebsd/comments/4o8cyc/which_vm_solution_and_hw_to_use_for_creating_a/"
"VMWare and Virtual Box don't run on MIPS or emulate MIPS so that's not even an option.
If you want to run this on x86 and emulate MIPS you can use QEMU or GXemul. There are others but those are probably the most popular/supported. If you had a MIPS machine I'm guessing you wouldn't be asking this question."

Vagrant's use against Hyper-V

I am getting my feet wet with Vagrant.
I am trying to use it to auto deploy a number of Windows Server 2012 VMs automatically. I am running into some bugs in that Hyper-V does not seem to be a first class citizen in terms of attention and support from Vagrant in relation to other operating systems and virtualization platforms.
When researching Hyper-V, I find it also supports automated deployment.
So my question is, what is the main benefit to using Vagrant on top of Hyper-V alone? I am not countering its usefulness, I am more asking what can be gained from it that Hyper-V alone could not handle as well?
The benefit of using Vagrant is that you could easily support other host OSes than Windows. If you use Hyper-V alone you're stuck to Windows as a host. But if you ever need to run your Windows Server 2012 VMs on Linux, you could do that easily by adding support for different providers than Hyper-V, e.g. for VirtualBox, to your Vagrant box, and then just vagrant up it under Linux.

Where to install device drivers to make docker recognize the device?

I have some binaries running on ubuntu that control various devices like onboard/usb wifi/bluetooth chips. Some chips will require additional drivers.
My guess is that merely installing the drivers to the docker image is not enough, and the host OS must have the drivers. Is this correct?
If yes, why does the docker image need any drivers at all if the host already does? How can docker image correctly delegates to host? Do these need to be hardcoded for each driver on each host OS?
Also from this perspective, does docker require more or less hardcoding than a VM?
I feel the answer probably depends on how the devices are presented to docker and where the driver has to run (e.g kernel space vs user space).
Thanks!
It will depend the device and drivers. Most drivers need some support from Kernel, and in those cases your host kernel must provide the functionality. Some of the driver's functionality, dependent libraries and applications may be implemented in userspace (for example packages libusb, usbutils...) and your container should have those packages installed. And also, when running your container, you must explicitly indicate Docker to map the device in your container (any /dev/*). You have two options:
Use docker run with option --device
Use docker run mapping the device as a volume (option -v) in privileged mode --privileged=true

Xen for office use and network boot

I'm trying to understand if Xen can fit my needs:
I need to have a Windows 7 image that I can copy to different machines (with different hardware) to have kind of default installation for every new entry in the office and faster replacement.
Is that possible to use the hypervisor for this?
Is that possible to use network boot as well of the hypervisor not to install Xen on every machine?
Edit: Will I be able tu use multiple displays?
Thanks.
It is possible if and only if you have installed Xen on every machine on your network that is not a good idea. Xen and other type-1 hypervisors are usually used to multiplex a high-end server into a set of virtual machines. Xen is also known for its para-virtualization technique which is not applicable for Windows.
Have you ever thought of VDI (Virtual Desktop Infrastructure) solutions? It enables you to have all your operating systems on a single machine and transfer the desktop to the clients.

Resources