Boot2docker very slow on Windows without shared folders

I have a Docker image with Oracle database and around 5 million rows that I need to process.

My machine runs Windows 7, and I use Docker inside a Virtualbox VM running Ubuntu. The VM is configured with 2 GB RAM and 4 logical cores. The database is running inside a Docker container on the VM, and the client of my application runs on the host Windows machine. In that scenario the application runs and processes everything in 230 seconds.

  • Running python in read-only Docker container
  • Using Jenkins Blue Ocean to Deploy builds
  • Running gulp in `docker-compose build`
  • docker-swarm error: client and server don't have same version(client: 1.18, server: 1.17)
  • Apache docker container - .htaccess rewrite rule 404
  • How to list Docker Tags
  • The second scenario is on the same host machine, but instead of a Ubuntu VM I use Boot2docker. I also configured the Boot2docker VM to use 2 GB RAM and 4 logical cores. Using the same Docker image as before, I start the database from a container in Boot2docker and use Windows to run the client. However, this time the test takes 1840 seconds instead of 230.

    Those tests are repeatable and show a variation of no more than 5%.

    Besides the CPU and memory, the network configuration is the same (one adapter as NAT and one as host-only), the storage configuration is the same and uses the same disk on host, and the container doesn’t use shared folders on the host, as I know this can cause performance problems with Virtualbox.

    I also tried testing using a Debian VM and the performance was the same as Ubuntu.

    I am confused on why this is happening. The hardware is the same, both Ubuntu and Boot2docker run inside VirtualBox VMs using the exact same configuration, but Ubuntu is 8x faster than Boot2docker. Any idea why?

  • nodejs server cannot link Redis and MongoDB in the same Docker-Compose yml file
  • Simple Træfɪk reverse proxy installation
  • Does capitrano conflict with docker?
  • How to run bundle install with a Dockerfile file
  • Does it make any difference to include or omit :latest when pulling a Docker image?
  • NodeJs development offline in docker
  • One Solution collect form web for “Boot2docker very slow on Windows without shared folders”

    I found the problem. When Boot2docker is installed the host-only network is created with an adapter type Paravirtualized Network. I changed it to PCnet-FAST III and it got much faster.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.