I got some unexpected results when testing Docker. Where the one process takes 25 minutes to complete on a Windows 10 VirtualBox setup (Docker Toolbox), the same process takes up to 30-42 minutes (multiple runs performed) on the same system with a Windows 10 Hyper-V setup. I expected the Hyper-V setup to be faster.
Host OS: Windows 10 Pro (Anniversary update)
Guest image: Ubuntu 16.04 (ubuntu:16.04)
Docker: 1.12.1 (build 7135)
Resources assigned: 2 CPU’s, 4 GB RAM
With the same resource assignment, the VB setup takes up to 100% CPU, while the Hyper-V setup does not exceed 20% CPU usage for some reason. At least in the VB case, only one CPU is actually used to the fullest by the process.
The process is basically running a proprietary (Java-based) application which processes a 300MB PDF from a shared folder.
I’m running the image with
docker run -it -v C:\app\:/opt/app -v D:\data\:/data process bash where the folder with the application, as well as the data folder are being shared with the container and the process is manually started through bash.
This can explain the massive duration difference, but what could be the cause?
What makes Hyper-V not utilise all it’s resources? (set by the Docker settings app)